c# - HTTP 错误 500.30 - ANCM 进程内启动失败

标签 c# .net-core hosting iis-express http-error

我正在尝试 .NET core sdk 2.2 附带的一项新功能,据说可以将性能提高约 400%。

令人印象深刻,所以我在我的 ABP(ASP.NET Boilerplate)项目上尝试了它

模板 asp.net core mvc 4.0.2.0

我将以下内容添加到我的 web.mv.cproj 文件

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

不幸的是,我认为这个版本的 ABP 框架不兼容,因为该项目根本无法运行并抛出:(最终)

HTTP Error 500.30 - ANCM In-Process Start Failure

我在 web.config 中设置 stdoutLogEnabled="true" 并重试后检查了日志 - 但没有条目。

有人在进程设置中成功地针对 asp.net core 运行当前的 ABP 吗?

我认为这可能只在 ABP vNext 中可用。

最佳答案

在 ASP.NET Core 2.2 中,随 IIS 一起发布了一个新的服务器/托管模式,名为 IIS InProcess hosting 。要启用进程内托管,请添加 csproj 元素 AspNetCoreHostingModel 以在 web.config 文件中将 HostingModel 设置为进程内。此外,web.config 还指向一个名为 AspNetCoreModuleV2 的新模块,这是进程内托管所必需的。

如果您要部署到的目标计算机没有 ANCMV2,则您无法使用 IIS InProcess 托管。如果是这样,正确的行为是安装 dotnet hosting bundle到目标计算机或降级到 AspNetCoreModule。

Source: jkotalik (Github)

尝试更改 csproj 中的部分(使用文本编辑器编辑)

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

以下...

 <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
    <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
 </PropertyGroup>

Source (Github)

关于c# - HTTP 错误 500.30 - ANCM 进程内启动失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53811569/

相关文章:

ms-access - .NET Core 中的 MS Access 数据库

asp.net - 在 iis 中托管 asp.net 网站的分步过程?

c# - 如何在 ASP.NET Core 中间件中获取传入请求正文和传出响应正文?

c# - 如何在 C# 中将 EM_CHARFROMPOS 与 RichTextBox 一起使用

c# - 发布一个可执行文件

azure - 将 IdentityServer 4 部署到 Azure VM 时找不到证书

ssl - Cloudflare HTTPS 错误

jsp - 网站所有者在更新网站时是否需要重新启动服务器?

c# - 如何将 xml 字符串转换为字典列表?

c# - 为什么在使用条件运算符时需要额外的转换?