使用 ABP 和 ASP.NET Core 2.2 對進程內託管進行故障排除
ASP.NET Core 2.2 引入了 IIS 進程內託管以提高效能。然而,將其與 ABP 專案整合可能會帶來挑戰。 本文解決了整合過程中遇到的常見「HTTP 錯誤 500.30:ANCM 進程內啟動失敗」。
問題:進程內託管失敗
嘗試透過修改web.mv.cproj
檔案來啟用進程內託管:
<code class="language-xml"><PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> </PropertyGroup></code>
通常會導致 500.30 錯誤。這種不相容性源自於較舊的 ABP 框架版本的限制。
解決策略
這裡有兩個有效的解決方案:
驗證 ANCM v2 安裝: 確保部署伺服器已安裝 ANCM v2。 如果沒有,請安裝 .NET Hosting Bundle 或恢復到 AspNetCoreModule
.
切換到進程外託管:最簡單的解決方案是透過調整 web.mv.cproj
:
<code class="language-xml"><PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel> <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName> </PropertyGroup></code>
此配置可確保與現有 ABP 版本的相容性。 請注意,只有較新的 ABP 版本(vNext 及更高版本)完全支援進程內託管。
以上是為什麼 ABP 和 ASP.NET Core 2.2 的進程內託管失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!