.NET core2.0 發佈至IIS中

 

 

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

 

進入這個模塊就能夠看到你是否安裝了託管捆綁包AspNetCoreModule,沒有的話能夠點擊這裏進行下載,瀏覽器

若是仍是沒有找到或者不知道怎樣下載.在個人百度網盤中下載安裝就好了,密碼:nrt2服務器

安裝好了以後就是這個樣子mvc

 

 接下來和asp.net 發佈時同樣,新建一個網站就好了,爲了方便演示,名稱這裏用DotNetCoreDemo,路徑用一個方便尋找的路徑asp.net

 

接着就是重點了,應用程序池配置稍微不太同樣,.NET CLR版本選擇無託管代碼,託管管道模式選擇集成網站

 

 

 好了,準備工做完成了,接下來就是文件的發佈了,發佈文件有兩種方式,能夠經過命令發佈,也能夠經過VS進行發佈spa

 經過CMD找到你的文件所在的路徑,這裏就簡單經過命令建立一個.net core2.0 的MVC的程序DotNetCoreDemo.net

建立命令: dotnet new mvc3d

       

  

 

   接着經過命令dotnet publish進行發佈( 在項目的目錄路徑),若是用這個命令他會默認發佈在bin文件的Debug中代理

 

 

這個不是咱們想要的,咱們必須發佈到指定路徑,剛纔咱們IIS發佈選擇的物理路徑路徑是在  E:\發佈\DotNetCoreDemo  這裏因此,咱們發佈的時候必須指定路勁

 命令: dotnet publish -o 路徑

這裏就是 dotnet publish -o E:\發佈\DotNetCoreDemo

好了如今就發佈好了

 

經過VS進行發佈:

  這個就和之前的ASP.NET 發佈差很少了,我如今用的是VS2017,發佈的時候直接選擇文件夾就能夠了,路徑就選擇IIS配置的物理路徑

  

 

終於完成了,來看一下最後的成果

 

 

PS:

AspNetCoreModule必定和NET CORE 版本相對應,我這裏用的..NET CORE2.0 ,因此捆綁程序包(.NET Core Windows Server Hosting)也用的2.0,若是版本不對應則會報錯502.5的錯誤

相關文章
相關標籤/搜索