Estoy administrando un proyecto bastante grande, escrito en asp.net webforms + mvc3, con una gran base de usuarios y un conteo de visitantes diario bastante alto. Básicamente, hay muchas solicitudes en cualquier momento dado.¿Funciona correctamente el atributo SessionState en MVC 3?
Una de mis controladores de MVC que maneja/redimensiona las imágenes sobre la marcha tiene el siguiente atributo que se le aplica:
[SessionState(SessionStateBehavior.Disabled)]
Ahora, si una acción en el controlador intenta acceder a la sesión - es obvio que lanza una excepción, así que estamos bien hasta ahora.
El problema es: si voy a la ventana Procesos de trabajo de IIS (Win Server 2008 R2, IIS 7.5) y compruebo las solicitudes actuales para este sitio, a veces puedo ver las solicitudes de una acción en este controlador. Su estado actual está bloqueado en State: RequestAcquireState, Module Name: Session
. A veces estos bloqueos pasan más de un segundo o dos en este estado.
¿No fue el objetivo del atributo en primer lugar hacer que las solicitudes al controlador ignoren el estado y no pierdan tiempo (y posiblemente estén bloqueadas) intentando adquirir el estado?
Si esto es así, ¿estoy haciendo algo mal aquí, o el problema está en otra parte?
Hola Levi, ¿podrías hacer de esto una respuesta para que yo pueda marcarlo como tal? :) –