1. 程式人生 > >ASP.net Core IIS釋出報502.5錯誤

ASP.net Core IIS釋出報502.5錯誤

一、執行環境
伺服器的系統是64位Windows Server 2012,ASP.net Core程式是一個MVC的小應用,選擇的是獨立釋出,目標系統是Win81 x64。

二、錯誤原因
把釋出的一堆東西拷到伺服器之後開啟IIS管理,確認已經安裝了aspnetcore moudle,新增網站。由於是ASP.net Core,所以不需要託管程式碼,在應用程式池裡面把託管程式選擇為無託管程式碼。然後點選瀏覽,喜聞樂見地看到502.5錯誤頁面。
在這裡插入圖片描述

三、解決方法
先求助萬能的百度,參考了一下熱心網友的文章,說只要改成獨立釋出就能解決,然而對我的問題並沒有用。
看一波錯誤頁面,大概知道是 ASP.net core裡面的那個exe程式跑不起來。根據提示的錯誤檢索步驟,檢視一波系統日誌,系統日誌的檢視一般在伺服器管理工具裡面一開啟就能看到,或者右鍵 我的電腦->管理->事件檢視器 那裡檢視,看到下圖的兩個錯誤。
在這裡插入圖片描述

這時大概猜到是程式碼裡面用了Kestrel,然後Kestrel啟動失敗導致的。把IIS上的網站停用,然後直接打開發布的那個xxx.exe執行,嘗試訪問,發現可以訪問。確定了程式碼沒問題,那麼可能是IIS的反向代理和程式碼裡的Kestrel伺服器有衝突,在網頁的應用執行緒池裡的高階設定把載入使用者配置設定為True。我的問題得以解決。