首页 > 解决方案 > 获取 SwaggerUI/swagger.json 的错误 FABRIC_E_TIMEOUT

问题描述

我正在开发一个 Azure Service Fabric 服务,其中我使用 Swashbuckle.AspNetCore 来构建 API 列表。我在 Startup.cs 文件中使用以下代码

在 ConfigureServices(IServiceCollection 服务)中

services.AddSwaggerGen(c =>
                 {
                      c.SwaggerDoc("Backend", new Info { Title = "My Backend", Version = "v1.0" });
                 });`

并在配置中(IApplicationBuilder 应用程序,IHostingEnvironment env)

` app.UseSwagger(c => c.PreSerializeFilters
     .Add((swagger, httpReq) => swagger.Host = httpReq.Host.Value));

  app.UseSwaggerUI(c => c.SwaggerEndpoint("/MyApp.Fabric/MyApp.Backend/swagger/Backend/swagger.json",
        "Backend"));`

在这里,因为我正在开发 SF 服务,所以我使用了带有 swagger 端点配置的反向代理。现在同样的事情正在与我的其他服务一起工作,除了一个。我的所有服务中都使用了相同的代码和相同版本的 Swashbuckle.AspNetCore nuget,即 3.0.0

当我尝试访问此服务的 SwaggerUI 时,我收到以下错误

在此处输入图像描述

谁能帮我解决这个问题?我一直在尝试,但找不到任何合适的解决方案..

标签: .net-coreswaggerazure-service-fabricswagger-2.0swashbuckle

解决方案


就我而言,当我更深入地挖掘问题时,我发现在我的 API 中,使用了一些没有分配任何命名空间的对象。不知何故,运行时无法解析那些导致无法加载 API 定义的对象的定义。

@Tom Sun,如果您可以将您的评论作为答案发表,我将能够将其标记为答案。谢谢你。


推荐阅读