.NET6 Web程序部署在IIS上
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。
下載安裝

安裝完成后可以在:控制面板->程序->程序和功能中看到

4、在IIS中部署站點
新建應用程序池,選擇無托管代碼

.NET CLR 版本”下拉框中必須選擇“無托管代碼”。必須將【Hosting Bundle】程序安裝成功后才能選擇到“無托管代碼”選項。
后續就跟部署FrameWork站點的程序一樣的啦!
在IIS部署ASP.NET Core程序與部署FraemWork不同的地方就是需要安裝用于在 IIS 上托管 ASP.NET Core 網站的安裝包Hosting Bundle。
需要詳細操作步驟的,看張傳寧大佬的 http://www.rzrgm.cn/SavionZhang/p/17034427.html

浙公網安備 33010602011771號