2011-02-11 50 views
5

estoy experimentando el mismo problema exacto como un usuario informa sobre eggheadcafe, pero no saben qué medidas tomar después de leer la siguiente respuesta .:Se bloquea la sesión de IIS. ¿Cómo resolver "los recursos que se pierden en el sitio web para los finalizadores"?

dos problemas que debe perseguir: 1. ¿Por qué es el sitio web está filtrando recursos a los finalizadores. Es decir mal 2. ¿Cuál es el código de Oracle esperando en - el trabajo con el apoyo de Oracle en él

Esta es la cuestión:

tengo un problema intermitente con un sitio web alojado en IIS6 (w2k3 sp2).

Parece que ocurre aleatoriamente a los usuarios cuando hacen clic en un hipervínculo dentro de una página. La solicitud se envía al servidor web , pero la respuesta nunca es devuelta. Si el usuario intenta navega a otro hipervínculo, son que no pueden (es decir, el sitio web aparece para colgar para ese usuario). Otros usuarios de la página web en el momento no son afectados por esta colgar y si el usuario con el problema abre una nueva sesión http (IE cerrar y abrir el sitio Web de nuevo ) ya experiencia de la caída no.

He colocado un depurador (IISState) en el proceso w3wp con la siguiente salida . Las entradas con "Thread is esperando a que se libere una cerradura. Buscando propietario de la cerradura." parece que pueden estar causando el problema. ¿Puede decir a qué bloqueo está esperando el proceso ?

Gracias

http://www.eggheadcafe.com/software/aspnet/33799697/session-hangs.aspx

En mi caso mi aplicación .Net C# MVC ejecuta contra una base de datos MySQL para datos y una base de datos MS SQL para ser miembro .NET.

Espero que alguien con más conocimiento de IIS pueda ayudar a resolver este problema.

Respuesta

1

Parece que tiene una condición de carrera en las llamadas de su base de datos, lo que resulta en un interbloqueo en el nivel de la base de datos. Es posible que desee consultar la configuración que tiene en su grupo de aplicaciones para las conexiones de la base de datos. Probablemente tendrá que poner un poco de cheques en algún lugar o redefinir los procedimientos con el fin de reducir la probabilidad de la carrera:

http://msdn.microsoft.com/en-us/library/ms178104.aspx

+0

Gracias por su respuesta. Ahora estoy monitoreando los puntos muertos. El registro no ha reportado ninguno hasta el momento. Espero obtener más resultados el lunes cuando la aplicación está en uso pesado – CLRBTH

0

que explicaría la experiencia cuelgue debido a la sesión de serialización. No es la parte de guardar/cargar desde algún origen, sino que ASP.NET no permite que la misma sesión ejecute dos páginas paralelas simultáneamente, a menos que se ejecuten con una sesión de solo lectura. Lo último se hace en la directiva de la página o en web.config, configurando EnableSessionState = "ReadOnly".

Su problema todavía existe, esto no cambiará que el primer hilo cuelga.Verificaría que las conexiones de su base de datos estén dispuestas correctamente. Sin embargo, nunca mencionas ninguna base de datos Oracle en tu pregunta (solo Mysql y SQL Server). ¿Por qué estás usando los controladores de Oracle en absoluto? (Esto parece ser un lugar válido para comenzar a depurar).

Sin embargo, según lo expresado por David Wang en su respuesta en su pregunta vinculada, la segunda parte de su problema es un bloqueo que nunca se publicará. Necesitará soporte de Oracle (o su código fuente) para depurar esto aún más.

+0

Tal vez debería haber sido más claro en mi pregunta. La descripción del problema es similar a la mía, en mi caso es una aplicación C# MVC ejecutándose contra MySQL y una base de datos SQL. Así que no estoy usando Oracle :) Gracias por su respuesta, cambiar el estado de sesión solo para leer mejoraría al menos la experiencia del usuario. También sospecho que esto es, de alguna manera, un problema relacionado con la red. El usuario que informa la mayoría de los bloqueos ahora está conectado al servidor de producción a través de VPN, por lo que utiliza la dirección IP local. Por primera vez en semanas reportó un día sin cuelgues. ¿Esto es explicable? – CLRBTH

Cuestiones relacionadas