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中文网其他相关文章!