我的应用程序在开发工作站上的IIS Express中运行良好,但是在将其部署到IIS时遇到问题。浏览到应用程序时收到以下错误:
HTTP错误500.30-ANCM进程内启动失败
Windows事件日志中没有太多内容
Application '/LM/W3SVC/2/ROOT' with physical root 'c:\inetpub\cashflow\' failed to load coreclr. Exception message:
Error occured when initializing inprocess application, Return code: 0x80008083
据我所知,从命令行调用时,应用程序运行良好:
这是我在失败的请求跟踪中看到的内容((为什么文件被标识为F:...,这台机器上的Tehre不是F:\驱动器,我有点困惑!)
对不起,我无法提供完整的跟踪XML,因为它超过100,000个字符。如果您想了解一些特定的信息,请让我知道,我将尝试提供相关的摘要。感谢您提供的任何建议!
答案 0 :(得分:2)
您可以通过Project设置OutOfProcess->右键单击-> Properties-> Debug-> Hosting Model
答案 1 :(得分:2)
我遇到了同样的问题,在花了一些时间寻找根本原因和可能的解决方案后,我了解到当同一台机器上有许多应用程序池时会发生这种情况,这就是我的情况.
Microsoft 建议交错启动多个应用程序。另一种解决方案是增加启动限制。
关于将hostProcess从入站更改为出站,这可能有效,但不会使用IS HTTP服务器,但Kestrel Web服务器< /strong> 用于处理请求。
您可以在这里找到更多信息: Troubleshoot ASP.NET Core on Azure App Service and IIS | Microsoft Docs
What is the Difference between Inprocess and OutOfprocess service in asp.net core | Tutorials Helper
答案 2 :(得分:1)
我更改了Web.config中的规范以使其无法运行。最初,该规范是针对InProcess的,如下所示:
<aspNetCore processPath="dotnet" arguments=".\Cashflow.dll" stdoutLogEnabled="false" hostingModel="OutOfProcess" stdoutLogFile=".\logs\stdout">
我将其更改为OutOfProcess:
$DYLD_LIBRARY_PATH
和宾果!该应用程序按预期运行。
谁能解释为什么?
答案 3 :(得分:1)
我必须在项目属性中进行设置,否则它将一直重置我的web.config更改