I’m looking for suggestions on how to trouble a weird 500 error in IIS 7.5, ASP.Net 3.5 using Rick Strahl’s JavaScriptResourceHandler.
It works on one machine but not on another. Both machines are Windows Server 2008 R2.
Here’s a sample response that fails on one machine and not another.
HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Thu, 16 Jun 2011 17:43:45 GMT
Content-Length: 1208
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>500 - Internal server error.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>500 - Internal server error.</h2>
<h3>There is a problem with the resource you are looking for, and it cannot be displayed.</h3>
</fieldset></div>
</div>
</body>
</html>
Totally unhelpful. Looking at the IIS log files, I see it’s specifically returning a 500.21 – Module not recognized.
I am puzzled as to why it would work on one box and not the other.
Added note: I just diff’d web roots of both machines. Other than environment specific differences (i.e. SSLRedirects are enabled in one and not the other, cache duration longer in one than in the other, etc.) they are identical.
The difference between the two machines turned out be the difference between the Application Pool being set from Integrated (machine that works) and Classic (machine that doesn’t work).
Setting the Application Pool from
ClassictoIntegratedappears to have fixed the problem.