9
votes

My application runs fine within IIS Express on my development workstation, but I am having trouble deploying it to IIS. I receive the following error when I browse to the application:

HTTP Error 500.30 - ANCM In-Process Start Failure

There's not much in the Windows Event Log:

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

As far as I can see, the application runs fine when invoked from the command line:

Running from Command Line

Here's what I see in the failed request trace: (I'm a bit mystified as to why files are identified as F:... Tehre is no F:\ drive on this machine!)

Failed Request Trace

Sorry, I am unable to provide the full trace XML as it exceeds 100,000 characters. If there is somethign specific you'd like to see let me know and I'll try to provide the relevant snippet. Thanks for any advice which you can provide!

4
Based on the ASP.NET Core module you installed, you can find the relevant source code on GitHub, github.com/aspnet/AspNetCore/tree/v3.0.0/src/Servers/IIS/… Then combine the line number and error code, you should figure out the causes.Lex Li

4 Answers

11
votes

I changed the specification in Web.config to run out of process. Originally the specification was for InProcess as follows:

  <aspNetCore processPath="dotnet" arguments=".\Cashflow.dll" stdoutLogEnabled="false" hostingModel="InProcess" stdoutLogFile=".\logs\stdout">

I changed this to OutOfProcess:

  <aspNetCore processPath="dotnet" arguments=".\Cashflow.dll" stdoutLogEnabled="false" hostingModel="OutOfProcess" stdoutLogFile=".\logs\stdout">

and Bingo! The application runs as expected.

Can anyone explain why?

2
votes

YOu can set OutOfProcess through Project--> Right click -->Properties-->Debug-->Hosting Model

2
votes

I have faced the same issue and after spent a time looking for the root cause and possible solutions, I understood that this happens when there are many app pools on the same machine, which is my case.

Microsoft recommends to stagger the startup process of multiple apps. Another solution would be increase the start up limit.

Regarding the change of hostProcess from Inbound to Outbound, this may works, but the IS HTTP Server won’t be used, but Kestrel web server is used to process the requests.

Here you can find more info: 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

1
votes

I had to set it in the project properties otherwise it just kept resetting my web.config changes

Image of project setting to change