代码之家  ›  专栏  ›  技术社区  ›  Haminteu

发布。NET CORE 5.0 API到IIS

  •  -2
  • Haminteu  · 技术社区  · 3 年前

    这两天我一直在挣扎。
    有人知道有什么问题吗?我试图将我的.net核心API发布到IIS,但在浏览网页时总是失败。

    我这样做是为了发布同样的内容 webpage .

    在我浏览服务器后, http://127.0.0.1:5100/swagger/index.html ,页面显示找不到网页。我确定没有系统/应用程序使用 5100 港口。

    0 回复  |  直到 3 年前
        1
  •  4
  •   Fei Han    3 年前

    在我浏览服务器后, http://127.0.0.1:5100/swagger/index.html ,页面显示找不到网页。

    如果你检查代码 Configure 方法in Startup.cs ,您可以发现该应用程序将仅在上提供Swagger UI Development 环境。

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseSwagger();
        app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebAppi v1"));
    }
    

    如果您想在上提供Swagger UI Production 在IIS上发布后,您可以按如下方式修改代码,然后将其重新发布到IIS。

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    
        app.UseSwagger();
        app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebAppi v1"));
    
        //...
    

    此外,如果您的IIS站点仅用于测试目的,为了快速解决问题并使您的站点按预期显示Swagger UI,您可以尝试为您的站点添加以下环境变量。

    enter image description here