IIS 部署WEBAPI
ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中,最终转达到不同的客户端(浏览器,APP,客户端等)。而配置文件和过程都会由调整,中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以无需设置应用程序池来托管代码,它只负责转发请求而已。
开发工具:VS2017 + .NET CORE 2.1
采用本地文件系统发布,部署模式建议选择“独立”,选择框架依赖时,访问是可能出现502错误,发布后将文件拷贝至服务器端
服务器:IIS
在IIS上添加应用程序,物理路径指向WEBAPI所在的文件夹
调整对应的应用程序池
服务器端IIS需支持AspNetCoreModule模块,若无此模块,可下载.net core sdk 及 .NET Core Hosting Bundle.
发布后会产生web.config文件
<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers> <aspNetCore processPath=".WebApi.exe" stdoutLogEnabled="false" stdoutLogFile=".logsstdout" /> </system.webServer> </location> </configuration> <!--ProjectGuid: 74bf046f-685d-492b-86df-bbf645da64d3-->
可参考:https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-8.0
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...