剑轩

net core项目发布到iis

电脑版发表于:2019/3/31 17:51


需要的环境

dotnet-sdk: 就是net core运行的环境

dotnet-hosting:这个完整后,iis会出现一个模块,负责转发请求到真正的Kestrel服务器 

这两个去官网下载即可,下载地址:https://dotnet.microsoft.com/download/dotnet-core

 注意是下载Hosting Bundle这个哦,不是x64也不是那个x86哟。
 安装过程中:




安装好dotnet-hosting可以看看有没有对应的模块

点击模块进去然后看看

这里有两个一个是v2,这个版本是net core2.0后需要使用的。发布的时候一定要注意版本一致,不然会出现很多问题


强行解释一波:

ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel不同端口的ASP.NET Core程序中,随后就将接收到的请求推送至中间件管道中去,处理完你的请求和相关业务逻辑之后再将HTTP响应数据重新回写到IIS中。

中间最重要的角色便是AspNetCoreModule,它是其中一个的IIS模块,请求进入到IIS之后便立即由它转发,并迅速重定向到ASP.NET Core项目中,所以这时候我们无需设置应用程序池来托管我们的代码,它只负责转发请求而已


生成发布的文件的方法和net framework基本是一样的

点击发布选择文件夹

然后就会出现下面的界面,有发布的位置默认是bin下面的,使用默认的就好

发布后放到拷贝到服务器,然后和以前发布到iis的一样。


然后把应用程序池修改为无托管代码


这个时候如果你的net core环境都正确的话就可以正常运行了


当然一般情况下都没有那么顺利,可以参考:net core发布到IIS常见错误

http://www.tnblog.net/aojiancc2/article/details/1268






关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢