Asp.net 4.0 site is failing because no handler is associated with Classic appPool
When I create an Asp.net application and flip the appPool to "ASP.NET v4.0 Classic" it fails with the following error:
HTTP Error 404.17 - Not Found The requested content looks like a script and will not be served by a static file handler.
After some searching, it looks like the handler is not displaying classic mode correctly, but I can't figure out where or how to fix it.
I have a full .Net 4.0 version with VS2010 and the app works great if I change the appPool to Integrated. Also, this is a Windows 7 machine (I have the same problem on a Vista box). Thanks in advance.
Andy
a source to share
I would start by calling aspnet_regiis.exe from the .net 4.0 directory. Alternatively, you can run the following command to view the list of handlers configured for your server:
\windows\system32\inetsrv\appcmd.exe list config -section:handlers | findstr v4.0 | findstr Isapi
You should see an asp.net factory page, something like (on a 64 bit machine, you should see them twice):
<add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
a source to share
This is just a contribution to this problem. I am not saying this WILL work for you, it might help everything:
For me it had nothing to do with "IsapiModule", although the exact error message I received was "HTTP Error 500.21 - Internal Server Error" PageHandlerFactory-ISAPI-4.0_32bit "handler has a bad" IsapiModule "module in its list of modules ".
My scenario is that I got this error after I set "Include 32-bit applications" to "true" in the advanced application pool settings for my Dot.Net 4.0 Classic application pool.
So, on a whim, I just changed the Pipeline mode to "Integrated" and now it works for me. Which is stupid, because when I had it set to Integrated it didn't work initially, so I used Classic.
Hope this helps.
a source to share