1、应用程序在IDE中进行发布
2、需要在Window 服务器上开启IIS
3、ASP.NET Core 应用针对IIS部署依赖于一个IIS针对ASP.NET Core的扩展模块。所以需要下载ASP.NET Core 运行时的Hosting Bundle。
ASP.NET Core Module
ASP.NET Core 模块 是 Windows系统中本机 IIS 模块,用于处理 IIS 和进程内 IIS HTTP 服务器或 Kestrel 之间的本机 IIS 请求。
IIS其实也是按照管道的方式来处理请求的,但是IIS管道和ASP.NET Core中间件管道有本质的不同。对于部署在IIS中的Web应用来说,从最初接收到请求到最终将响应发出去,这段处理流程被细分为一系列固定的步骤,每个步骤都具有一个或者两个(前置+后置)对应的事件或者回调。我们可以利用自定义的Module注册相应的事件或者回调,并在适当的时机接管请求。按照自己希望的方式对它进行处理。
IIS提供了一系列原生(Native)的Module。我们也可以使用任意.NET语言编写托管的Module,整合 IIS 和 ASP.NET Core 的 ASP.NET Core Module 就是一个原生的 Module。它利用注册的事件将请求从IIS管道中拦截下来,并转发给 ASP.NET Core 管道进行处理。相应的安装包从官方网站下载:https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0。
下载安装
![图片[1]-.NET6 Web程序部署在IIS上 - 拾光赋-拾光赋](https://image.baidu.com/search/down?url=https://img2024.cnblogs.com/blog/634679/202510/634679-20251030153243134-202665074.png)
安装完成后可以在:控制面板->程序->程序和功能中看到

4、在IIS中部署站点
新建应用程序池,选择无托管代码
![图片[2]-.NET6 Web程序部署在IIS上 - 拾光赋-拾光赋](https://image.baidu.com/search/down?url=https://img2024.cnblogs.com/blog/634679/202510/634679-20251030153603477-2110378784.png)
.NET CLR 版本”下拉框中必须选择“无托管代码”。必须将【Hosting Bundle】程序安装成功后才能选择到“无托管代码”选项。
后续就跟部署FrameWork站点的程序一样的啦!
在IIS部署ASP.NET Core程序与部署FraemWork不同的地方就是需要安装用于在 IIS 上托管 ASP.NET Core 网站的安装包Hosting Bundle。
需要详细操作步骤的,看张传宁大佬的 https://www.cnblogs.com/SavionZhang/p/17034427.html
原文链接:.NET6 Web程序部署在IIS上


![表情[baoquan]-拾光赋](https://blogs.ink/wp-content/themes/zibll/img/smilies/baoquan.gif)


暂无评论内容