Eu encontrei este thread enquanto procurava a mesma descrição de erro. E eu encontrei o que estava causando isso no meu caso.
Eu estava convertendo um aplicativo do .net 3.5 para 4.0 e depois que mudei o pool de aplicativos de 2.0 para 4.0, isso começou. Aconteceu apenas no modo clássico não integrado.
No meu caso, eu tinha manipuladores http curinga no web.config:
<add name="Wildcard .net 64 bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="bitness64"/>
<add name="Wildcard .net 32 bit" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="bitness32"/>
Mas eu tinha esquecido de mudar o caminho para o diretório .net
então, depois de alterar \v2.0.50727\aspnet_isapi.dll
para \v4.0.30319\aspnet_isapi.dll
, o site começou a se comportar normalmente.
Espero que isso ajude alguém.