20190705-记IIS发布.NET CORE框架系统之所遇
新手在iis上发布.net core框架的系统之注意事项
序:本篇随笔是我的处子笔,只想记录自己觉得在系统发布过程中比较重要的步骤,一来,忝作自己的学习笔记,以备不时之需,二来,也希望可以帮助有需要的同仁。诚然,了解的同学会
觉得内容太过简单,不过技术这门功课,是会的人觉得简单,不会的人觉得万难,因此就认认真真的记录下来罢。
由于在iis上发布.net core框架的系统和发布一般的asp.net web应用程序的步骤大致相同,所以本文就不再一步一步赘述,只拣重要的操作说明,下面按照开发阶段和iis部署阶段来详细描述,
本文的.net core版本为2.2。
在正式开启之前,先贴一张错误图片:
(一)开发阶段
1、启用 iisintegration 组件
在主程序中添加微软提供的组件:microsoft.aspnetcore.server.iisintegration,若是使用nuget,可直接搜索“iisintegration”即可找到,接着在系统入口方法(program.cs)中启动该组件,具体
方法为调用webhostbuilder的useiisintegration方法。
(二)iis部署阶段
2、安装aspnetcoremodule模块
下载模块安装包( ),该安装包包含了runtime。安装后在控制面板中会新增3项:
在iis发布的网站对应模块页面中可以看到新增了2项:
如果你觉得v2看着比较别扭,可以直接删除,不影响程序的正常发布(本地iis亲测)。刚开始我以为是因为我安装了两个版本的模块,所以会有v2,然后各种卸了装,装了卸,后来换了一台电
脑直接安装2.2版本才发现,安装了2.2就会显示两个模块。
3、应用程序池的配置
这里我想提及的并是不.net clr版本设置为“无托管代码”,而是另一个比较隐秘的设置。在应用程序池的高级设置中有一个“加载用户配置文件”选项,我本地(win10系统)默认是true,所以在其
他工作完成后系统就能正常运行,但我将文件移到服务器(windows server 2008)上时,并不能成功运行,后面仔细对比,才发现服务器上该选项默认是false,修改为true后错误页随之消失了。
关于这个选项,我还继续深究了一下,在本地环境下将该选项改为false,系统也可以正常运行,但服务器上却不行,比较分析应该是环境的原因吧。
后记:通过这次实践,我总结出了两个经验:1、多看官方手册,很多问题官方文档里都考虑到了,但问题是对有些问题而言官方文档太专业,小白看着吃力,比如我,所以说知识的厚度决定了解
决问题的难易程度,也定格了看问题的深度。2、既然知道了知识的重要性,那第二个经验自然就是好好学习咯。
参考文献:
下一篇: Spring入门。