簡體   English   中英

在 IIS 中托管 ASP.Net Core MVC 應用程序時出現 HTTP 500 錯誤

[英]Get HTTP 500 error hosting ASP.Net Core MVC app in IIS

我是 ASP.Net Core 的新手,並試圖在 IIS 中托管我的第一個簡單的 MVC 應用程序。 我已經安裝了 IIS 托管包; 使用 Visual Studio 將我的 MVC 項目發布到一個文件夾,然后創建了一個 IIS 網站,其物理路徑設置為發布的文件夾。 但是,當我使用 url http://localhost:5008/home/CallApi 對其進行測試時,出現 500 錯誤,提示“此頁面無效。本地主機當前無法處理此請求。”。 我可以從 VS 中運行 MVC 應用程序(selfhost,而不是通過 IIS,在不同的端口上),它在那里工作正常。 我在這里做錯了什么?

如果要將 ASP.Net Core MVC 應用程序部署到 IIS,則需要安裝 .NET Core 主機包,否則會出現“500 錯誤”。 如果您成功安裝了 .NET Core 主機包,您可以在 Modules 中找到 AspNetCoreModuleV2:

在此處輸入圖片說明

使用以下鏈接下載安裝程序:

https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.9-windows-hosting-bundle-installer

添加站點后,您需要將 .NET CLR 版本設置為 No Managed Code:

在此處輸入圖片說明

有關在 Windows 上使用 IIS 托管 ASP.NET Core 的更多信息,您可以參考此鏈接:

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1

更新:

我建議您啟用查看 PII 日志,以便我們可以查看有關錯誤的更多詳細信息:

public void ConfigureServices(IServiceCollection services)
{
    IdentityModelEventSource.ShowPII = true;
    ....

你可以參考這個鏈接,里面有類似的問題:

“InvalidOperationException:IDX20803:無法從以下位置獲取配置:'[PII is hidden]'”

對於那些有同樣問題的人,我發現我發現的設置指南中沒有提到對我來說是必需的步驟:

  1. 打開 IIS 管理器
  2. 導航到 [服務器]\\站點 [您的站點]。 為您的 .NET 應用程序列出了一個文件夾,但該圖標顯示為一個普通文件夾,就像在 Windows 資源管理器中一樣。
  3. 右鍵單擊該文件夾並選擇“轉換為應用程序”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM