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

问题描述 投票:25回答:13

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

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

Template 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错误500.30-ANCM进程内启动失败

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

有人在过程设置中针对asp.net核心运行当前ABP是否成功?

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

.net-core aspnetboilerplate
13个回答
47
投票

尝试更改csproj中的部分

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

至以下...

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

https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2-known-issues.md


0
投票

对我来说,它被错误地注入了HostedService中的DBContext。我据此重写:


0
投票

因为应用程序崩溃。为谁节省了这个例外的时间!


0
投票

使用.Net Core 2.2,您应该能够使用InProcess托管模型,因为它自然会更快:一切都在IIS中处理,而IIS和您应用程序的Kestrel服务器之间无需进行额外的HTTP跳跃。您可能想做的一件事是添加以下标记:AspNetCoreModuleV2注意新的AspNetCoreModuleV2与旧的AspNetCoreModule选项。要做的另一件重要事情是,检查Windows应用程序事件日志,以找出罪魁祸首。尽管错误消息可能含糊不清,但有时它们指向导致失败的代码中的确切行号。另外,如果您将CI / CD与TFS一起使用,则appsettings.json文件中可能存在未正确替换为其指定值的环境变量,这是我的例外来源之一。


0
投票

经过一整天的努力,我决定通过InProcess托管在IIS上托管我的asp.net核心应用程序,我终于为此感到自豪和欣慰。数小时反复尝试通过相同的论坛,博客和SO问题尽力解决问题的方法,但在遵循上述所有方法之后,我仍然陷入困境。现在在这里我将描述我解决问题的经验。


8
投票

如果您使用的是Visual Studio,并且正在运行它的任何实例,请将其全部关闭。

您应该找到一个.vs子文件夹,其中驻留Visual Studio解决方案(.sln文件)。删除.vs文件夹,然后尝试使用进程内托管模型。


3
投票

就我而言,我最近在我的appstettings.json文件中更改了数据库连接字符串。没有适当的日志记录或错误捕获,我怀疑该错误会导致“ HTTP错误500.30-ANCM进程内启动失败”错误。

我碰巧注意到x-freestyler与Tahir Khalid之间的交换,其中Tahir提出了启动时的IOC问题。由于我的启动公司最近没有发生变化,但是我的appstettings.json发生了变化-我确定我的appstettings.json中的连接字符串是造成此问题的原因。我更正了错误的连接字符串,问题得以解决。感谢整个社区。


2
投票

删除.cproj文件中的AspNetCoreHostingModel行对我有用。在我的另一个项目中没有这样的线路可以正常工作。

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

2
投票

我的原因是因为program.cs中的UseKestrel()在2.2]中应为.ConfigureKestrel()

https://docs.microsoft.com/en-us/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio&WT.mc_id=-blog-scottha#update-kestrel-configuration的更多信息


2
投票

ASP.NET Core 2.2或更高版本:对于使用进程内托管模型的64位(x64)独立式部署,请为32位(x86)进程禁用应用程序池。


1
投票

我发现了另一个问题,该问题开始时给出与问题中相同的错误消息。我在这里共享此信息,以便在更改项目文件之前可以确保您的服务已正确注册。


1
投票

在某些情况下,可能只是拼写错误,会破坏并阻止解析JSON设置文件


0
投票

此发布配置文件设置已为我修复:

© www.soinside.com 2019 - 2024. All rights reserved.