将 .NET CORE 5.0 API 发布到 IIS

Publish .NET CORE 5.0 API to IIS

这两天我一直在挣扎
有谁知道问题出在哪里?我尝试将我的 .net 核心 API 发布到 IIS,但在浏览网页时总是失败。

我按照这样的步骤进行发布webpage

我在服务器上浏览后,http://127.0.0.1:5100/swagger/index.html页面显示找不到网页。我确定没有 system/apps 使用 5100 端口。

After I browse on the server, http://127.0.0.1:5100/swagger/index.html , the page said No webpage was found.

如果您查看 Startup.csConfigure 方法的代码,您会发现该应用程序仅在 Development 环境中为 Swagger UI 提供服务。

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

如果你想在IIS上发布Swagger UI后在Production环境下运行,你可以修改如下代码,然后重新发布到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,您可以尝试为您的站点添加如下环境变量.