.Net8 部署到IIS 10 上需要注意的点

现在大部分项目都上云了,而且是linux的系统,这部分我下一篇再讲,这次讲一下如何部署到iis10,首先项目点击发布-》目标框架.net 8 部署模式是独立,目标运行时是win-x64,

你也可以选择部署模式为依赖框架,目标运行时选择可移植,但是这样的话要注意IIS的应用程序池选择启用32位应用程序,如果是win-x64的话,这里要设置为false,位置如图:

 我发布的是webapi,这里要注意的是一开始创建的项目只有在开发模式下才可以展示swagger,假设我的场景是给内部项目使用的话,发布后也需要展示swagger,所以这里可以再Program.cs文件上写:

app.UseStaticFiles();

app.UseSwagger();
app.UseSwaggerUI();

app.Use(async (context, next) =>
{
    if (context.Request.Path == "/")
    {
        context.Response.Redirect("/swagger/index.html");
    }
    else
    {
        await next();
    }
});

这里,我默认他输入地址后自动打开swagger的页面。如果遇到一些503/404的问题,尝试回收一下应用程序池,重启一下项目试试,这一套本人测试有效,有人说IIS-》项目的默认文档模块要写个

swagger/index.html
但是我测试后发现按照上述流程部署就够了,不需要再额外写这个

 此外,再iis上运行的先决条件缺少不了两个包:

 


这个参考官网:https://learn.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-8.0&tabs=visual-studio

posted @ 2024-08-22 16:28  洛晨随风  阅读(81)  评论(0编辑  收藏  举报