ASP.NET Core 404錯誤(轉自其它網站)


使用IIS時我得到了404。我按照正確的程序發布(這里)和部署,詳見此處

花了一些時間才弄明白,但我最終在Rick Strahl博客文章中找到了答案

基本上,在創建應用程序池時,以及將其設置為“No Managed Code”時,我還需要進入高級設置並將應用程序池標識設置為“網絡服務”。它在我的機器上的ApplicationPoolIdentity下很好,但在我部署到的機器上卻沒有。

在此處輸入圖像描述

因此,為清楚起見,我的完整程序是:

要創建包:

  1. 創建dotnet核心網站(我使用Visual Studio 2017)
  2. 發布。可以使用VS的發布功能,但我通過包管理器使用了CLR。命令是:

    dotnet發布-c發布-r win-x64 - 自包含

我不得不使用win-x64標識符,因為我們必須與64位Windows Server 2008兼容。

部署:

  1. 在C:\ inetpub \ wwwroot中創建一個文件夾(例如'testsite')
  2. 獲取發布文件夾({root} \ bin \ Release \ netcoreapp2.1 \ win-x64 \ publish)的內容並將其復制到新的“testsite”文件夾(或等效文件夾)。
  3. 在主機上安裝dotnet核心運行時(不是SDK!)。
  4. 打開IIS。右鍵單擊“應用程序池”,然后“添加應用程序池”。創建一個.NET CLR版本設置為“無托管代碼”。
  5. (我的機器不需要這一步,但服務器確實這樣做了。)再次點擊應用程序池。右鍵單擊新的應用程序池,然后選擇“高級設置”。將身份更改為“網絡服務”(如上圖所示)。
  6. 返回頂級IIS,展開“默認網站”,右鍵單擊您網站的文件夾,然后選擇“轉換為應用程序”。選擇沒有托管代碼的新應用程序池。
  7. 以管理員身份打開命令提示符iisreset您應該在安裝dotnet核心運行時之后第一次需要這個。
  8. 訪問該網站(例如http:// localhost / testsite

 

轉自 https://stackoverflow.com/questions/38529123/asp-net-core-404-error-on-iis-10


免責聲明!

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



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