现在大部分项目都上云了,而且是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