手机版

在IIS上部署ASP.NET核心项目的图解方法

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

摘要

与ASP.NET时代不同,ASP.NET核心不再由IIS工作进程(w3wp.exe)托管,而是由自托管Web服务器(Kestrel)运行。IIS充当反向代理,将请求转发到红隼不同端口上的ASP.NET核心程序,然后将收到的请求推送到中间件管道。处理完你的请求和相关的业务逻辑后,把HTTP响应数据写回IIS,最后传输到不同的客户端(浏览器、APP、客户端等)。).虽然配置文件和流程会稍作调整,但中间最重要的角色是AspNetCoreModule,它是IIS模块之一。请求进入IIS后,它会立即转发,并快速重定向到ASP.NET的Core项目,所以我们此时不需要设置一个应用程序池来托管我们的代码,它只负责转发请求。

在部署之前,请确保您的IIS上安装了AspNetCoreModule托管模块。如果没有,请单击此处下载并安装

首先,安装IIS

1.检查控制面板下的IIS管理控制台程序启用或禁用Windows功能互联网信息服务和网站管理工具

第二,发布项目

1.发布我们上次构建的ASP.NET核心API项目,然后选择IIS来创建新的发布配置

2.发布方法选择文件系统,然后设置发布路径

3.可以根据您的在线和离线环境选择配置文件。因为它是基于。NET Core,目标框架是netcoreapp1.1,然后保存并发布

4.当然也可以基于CLI的publish命令进行Publish,只需切换到Light的根目录即可。并输入以下命令

dotnet publish-framework netcore app 1.1-output ' e : \ publish '-configuration release framework表示目标框架,output表示要发布的目录文件夹,configuration表示配置文件,相当于我们通过管理器发布的上述操作,如图:

第三,在IIS中添加一个网站

1.添加网站,设置名称,指向刚刚发布的文件夹的路径,然后启动网站

2.设置。NET CLR版本的应用程序池改为“无托管代码”,因为正如我刚才所说,IIS是一个反向代理,不需要它来管理代码

3.好了,你完成了。浏览我们的网站。

这时我的心碎了,没有有用的提示信息。似乎只能自己查看应用程序的运行日志

4.将IIS的日志模式设置为日志文件和ETW事件

5.再次访问网站,然后打开Windows应用程序日志,就会看到这样的消息。这意味着您的应用程序已经由进程启动,进程号为3236,正在端口25636上侦听。

我打开任务管理器检查了一下,完全正确。一切都应该正常,那么为什么访问的网站是404?

我纠结了很久。原来网站没有自动重定向到/swag/ui页面。重访:http://192 . 168 . 1 . 105/swag/ui,会看到一个熟悉的画面

6.最后,实际上,您还可以通过CLI运行已发布的程序,切换到已发布的文件夹,并输入以下命令:

dotnet Light。API.dll

看到这个提示,那你就成功了。尽量访问:http://localhost :5000/swag/ui

这时,如果你回头看任务管理器,会出现另一个dotnet进程

写在最后

至此,整个IIS建设已经完成。不知道你有没有收获。接下来不知道发布到Linux会有什么样的漏洞。反正你的每一步,回头看,都是值得的!

版权声明:在IIS上部署ASP.NET核心项目的图解方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。