HTTP 500 Internal Server Error on IIS 7.5 with MVC3

Posted by Tor Haugen on Server Fault See other posts from Server Fault or by Tor Haugen
Published on 2012-09-14T13:51:30Z Indexed on 2012/09/23 21:39 UTC
Read the original article Hit count: 948

Filed under:
|

I am trying to install an MVC3 application on our production server with no luck. The application is from a 3rd party (compiled), and so debugging is not available to me. Besides, I strongly suspect the error occurs before any code in the site has a chance to execute.

Our staging server is - as far as I can determine - set up excactly like the production server. Both run Windows Server 2008 Standard R2, both also run a Sharepoint 2010 site (though this install doesn't touch that in any way). IIS is version 7.5, and .NET Framework 4.0 (required by the MVC app) is (recently) installed (by me, with a reboot after). The application is very small and simple and, as far as I can tell sticks to fairly standard functionality - including forms authentication (ie. it doesnt' pull any dirty tricks).

The error message shown in the browser is very general:

HTTP Error 500.0 - Internal Server Error
An error message detailing the cause of this specific request failure
can be found in the application event log of the web server. Please review
this log entry to discover what caused this error to occur. 

The bit about 'An error message detailing the cause' being in the application event log seems to be just speculation - a pious hope that whatever code actually caused the error will log it. Nothing useful is to be found in the event log (only the very same message, logged by IIS).

Module: AspNetInitClrHostFailureModule 
Notification: BeginRequest 
Handler: StaticFile 
Error Code: 0x80070002 
Requested URL: http://xxxxxx.xxxxxx.xx:80/ 
Physical Path: C:\Xxxxxxx\Prod\WebClient 
Logon Method: Not yet determined 
Logon User: Not yet determined 

Using Failed Request Tracing, I have been able to track the error (as also indicated above) to the AspNetInitClrHostFailureModule:

103. -NOTIFY_MODULE_START 
ModuleName AspNetInitClrHostFailureModule 
Notification 1 
fIsPostNotification false 
Notification BEGIN_REQUEST 

104. -SET_RESPONSE_ERROR_DESCRIPTION 
ErrorDescription An error message detailing the cause of this specific
request failure can be found in the application event log of the web server.
Please review this log entry to discover what caused this error to occur. 

105. -MODULE_SET_RESPONSE_ERROR_STATUS 
ModuleName AspNetInitClrHostFailureModule 
Notification 1 
HttpStatus 500 
HttpReason Internal Server Error 
HttpSubStatus 0 
ErrorCode 2147942402 
ConfigExceptionInfo  
Notification BEGIN_REQUEST 
ErrorCode The system cannot find the file specified. (0x80070002) 

So there you have it. Seemingly, the AspNetInitClrHostFailureModule fails to find some file. So some questions are:

  1. What is the AspNetInitClrHostFailureModule? It is not listed in the fairly exhausting list of modules configurable in IIS manager for the site. I have had no success googling it either. Maybe it's secret..

  2. I access the root URL of the site. This is supposed to be redirected to /Account/LogOn by the FormsAuthenticationModule. Why then is the handler StaticFile? Is that a clue?

  3. I have tried removing the infamous system.webserver/modules/runAllManagedModulesForAllRequests attribute, and that makes the error go away (but MVC not actually working, of course). I am prepared to specify all necessary modules manually if that's what it takes, but if the AspNetInitClrHostFailureModule is actually needed, I will be just as stuck. Does anyone know, or can anyone direct me to someone who knows, exactly what modules a typical MVC3 application actually needs?

This question might well be a duplicate of this one, but he didn't get any useful answer, and also asked less specific questions. So I'll have my own go.

Hoping for some help here :)

Edit: I have now tried setting up a trivial MVC 3 project on the server. I created a new project using the MVC Application template, compiled it and deployed it to the server. It behaves in exactly the same way. The server simply cannot run MVC 3 projects.

© Server Fault or respective owner

Related posts about iis7.5

Related posts about asp.net-mvc-3