2011-02-07 14 views
6

En octubre actualizamos uno de nuestros sitios (en IIS 6) de .net 3.5 a .NET 4.0. Desde entonces hemos estado recibiendo la siguiente advertencia y error prácticamente todos los días:Errores de IIS desde la actualización a dot net 4

Advertencia:

ISAPI 'c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.

error:

It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process.

Hemos comprobado todas las aplicaciones y ha asegurado que se están ejecutando en el versiones correctas de ASP.NET y también en sus propios grupos de aplicaciones separadas.

Hemos consultado los registros de IIS en el momento en que se registraron los errores, pero esto no proporciona ninguna pista sobre el problema. ¿Hay alguna herramienta disponible que pueda darnos más información sobre qué aplicación está causando los errores y qué estaba sucediendo en ese momento?

Respuesta

1

La discusión here podría ser atento para usted también:

You can configure the application pool to orphan the worker process rather than kill it when this condition happens - you can then use adplus to collect a hang dump of the worker process which can be analyzed to figure out what in the process is deadlocked.

(...)

It means that the asp.net thrads have not returned from whatever activity they were doing for a very long time and asp.net has run out of threads - this would normally indicate deadlock. This kb also talks about how to generate dumps for analysis for this condition.

0

que tenía el mismo error exacto, y fue debido a un .NET 2.0 página de error personalizado a la que se refería mi aplicación .NET 4.0.

Había configurado una página de error personalizada que se desarrolló en .NET 2.0 y se aplicó en el nivel superior del sitio web de IIS.

La aplicación .NET 4.0 estaba utilizando un esquema de enrutamiento de URL exclusivo de MVC, y por alguna razón solo esa aplicación se mantenía bloqueada y, finalmente, esos errores de interbloqueo surgirían.

Me deshice de la configuración de la página de error personalizado que apuntaba a la página web .NET 2.0 y lo cambiaba al error estático predeterminado "No encontrado". Reinicié el grupo de aplicaciones y la página web comenzó a funcionar sin problemas.

Espero que esto ayude a alguien más por ahí.

http://adamantinewolverine.blogspot.kr/2012/10/running-iis6-in-32-bit-mode-on-64bit.html

Cuestiones relacionadas