ASP.NET CORE 之 在IIS上部署MVC項目


  與ASP.NET時代不同,ASP.NET Core不再是由IIS工作進程(w3wp.exe)托管,而是使用自托管Web服務器(Kestrel)運行,IIS則是作為反向代理的角色轉發請求到Kestrel不同端口的ASP.NET Core程序中,隨后就將接收到的請求推送至中間件管道中去,處理完你的請求和相關業務邏輯之后再將HTTP響應數據重新回寫到IIS中,最終轉達到不同的客戶端(瀏覽器,APP,客戶端等)。而配置文件和過程都會由些許調整,中間最重要的角色便是AspNetCoreModule,它是其中一個的IIS模塊,請求進入到IIS之后便立即由它轉發,並迅速重定向到ASP.NET Core項目中,所以這時候我們無需設置應用程序池來托管我們的代碼,它只負責轉發請求而已。

  本文默認已安裝 IIS 相關服務。

一、安裝 AspNetCoreModule 模塊

  在部署到 IIS 之前,應確保已安裝 AspNetCoreModule 模塊,如下圖:

  

  下載地址:AspNetCoreModule

 二、發布項目

  直接使用 VS2017 右鍵發布至指定目錄,如下:

  1、點擊“Create Profile”,進行發布配置

  

   2、點擊目標位置后的“設置...”

  

  3、發布方法“文件系統”,指定目標位置,點擊“下一頁”

  

  4、目標平台選擇“netcoreapp版本號”,文件發布選項,數據庫為可選發布配置,最后點擊“保存”

  

  5、配置完成,發布。

三、在 IIS 中添加站點

  1、像之前得 ASP.NET 站點一樣添加站點;

  2、在應用程序程序池中找到關聯得應用程序池,設置應用程序池的.NET CLR版本為“無托管代碼”,因為,IIS是作為一個反向代理的角色,並不需要它來托管代碼。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM