ASP.NET Core 進程內託管:解決 HTTP 錯誤 500.30
ASP.NET Core 2.2 在 IIS 中引入了進程內託管,有望提高效能。 但是,遷移現有項目,特別是 ABP 項目,有時會觸發「HTTP 錯誤 500.30 - ANCM 進程內啟動失敗」。本指南概述了解決方案。
理解問題
根本原因通常在於部署伺服器上缺少先決條件。 IIS 進程內託管需要兩個元素:AspNetCoreHostingModel
檔案中的 .csproj
元素(設定為「InProcess」)和 AspNetCoreModuleV2
中的 web.config
。 缺少 AspNetCoreModuleV2
是一個常見的罪魁禍首。 此解決方案涉及安裝 .NET Hosting Bundle 或切換到進程外託管模型。
修補
最簡單的解決方案是恢復到進程外託管模型。 找到您的 .csproj
檔案並調整 <PropertyGroup>
部分,如下所示:
不正確(處理中):
<PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> </PropertyGroup>
已修正(進程外):
<PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel> <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName> </PropertyGroup>
此變更指示應用程式使用標準 AspNetCoreModule
,有效解決 500.30 錯誤。 這確保了相容性,而無需額外的伺服器端安裝。 進行此更改後,重建並重新部署您的應用程式。
以上是HTTP 錯誤 500.30:如何解決 ASP.NET Core 進程內託管故障?的詳細內容。更多資訊請關注PHP中文網其他相關文章!