问题标签 [asp.net-core-minimal-hosting-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
163 浏览

asp.net-core - 最小托管模型:从 Program.Main 退出,退出代码 = '0'

从旧版Program/迁移 ASP.NET Core 6 应用程序Startup以使用新的最小托管模型后,我收到一组无法描述的错误。

错误信息

我已明确启用UseDeveloperExceptionPage()安全,但我在浏览器中收到的只是通用的:

HTTP 错误 500.30 - ASP.NET Core 应用程序无法启动

在事件查看器中,事件 1011 被记录:

物理根目录为“C:\Code”的应用程序“/LM/W3SVC/2/ROOT”已从 Program.Main 退出,退出代码为“0”。请检查 stderr 日志以获取更多信息。

随后是事件 1007:

具有物理根目录“C:\Code”的应用程序“/LM/W3SVC/2/ROOT”无法加载 coreclr。

异常消息:CLR 工作线程过早退出

运行 IIS Express 或 Kestrel 时,调试控制台中没有更多信息可用。但是,我能够从我Program的记录中看到其他启动过程,因此知道它们正在正确加载。

代码

这是我的Program文件的简化版本,删除了自定义组件:

以前的主题

由于这些确实是一般性错误,因此之前有很多与此问题相关的可用线程——但似乎没有一个适用于这种情况。(很多都与我没有使用的ASP.NET Core Hosting Bundle有关。)

问题

这个问题有常见的原因吗?或者,是否有其他方法可以调试此场景?

0 投票
0 回答
7 浏览

.net-core - .Net Core 应用程序在启动时因进程外托管模型而卡住/加载

我有一个 3.1 net core web api,我必须从进程内切换到进程外托管模型,因为我的托管环境只有一个应用程序池,并且我有两个应用程序在该池中运行。由于与应用程序池相关的进程内限制,我不得不将两个应用程序切换到进程外。

Web api 在我的本地环境(从 vs studio 运行时)和托管环境中都会在启动时卡住/加载/挂起。唯一的区别是在托管环境中,一段时间后,我收到“HTTP Error 502.5 ANCM Out-Of-Process Startup Failure”类型的错误。

在做了一些研究之后,我发现大多数错误是由“Program.cs”类中的一些代码引起的。确实如此。注释掉以下代码部分后,它可以工作。

发生的事情是我清除了默认配置,以便我只能在“Main”方法中插入我明确定义的配置(至少这是我认为我在编写该代码时想要做的)。

不知何故,清除默认配置会导致应用程序无法在进程外托管模型中运行,我真的很想知道原因。