2010-11-09 7 views
16

lectura Guru-Gu's blog post about ASP.NET MVC3 hitting RC, dice: -¿Cuáles son algunos escenarios de tener un controlador sin sesión en ASP.NET MVC3?

Sesión menos Auxiliar del Controlador

Ahora puede indicar si desea que una clase controlador utilizar estado de sesión - y si es así si desea que se ser leer/escribir o readonly.read/write o readonly.

Puede alguien explicar lo que es alguien de algún escenario podría querer tener un controlador de sesión de menos? o un controlador de solo lectura?

Siempre he estado creando un separate IIS website which I use to handle all static images/content and then have this same website have session state turned off ... por lo que no se envían cookies a través del cable. ¿Es este un escenario similar?

Respuesta

25

Gu comentó al respecto. Citando:

Las notas de la versión cubren esto más (que puede descargar desde el enlace de descarga arriba). El estado de la sesión es diseñado para que solo una solicitud de ocurra un usuario/sesión particular en un tiempo . Por lo tanto, si tiene una página que tiene varias devoluciones de llamada AJAX que suceden en una vez que se procesarán en la serie moda en el servidor. Ir sin sesión significa que se ejecutarían en paralelo .

Este es un escenario conocido en ASP.NET en general. El objeto de sesión para el mismo usuario no es seguro para subprocesos. Esto significa que si el mismo usuario (la misma cookie de id. De sesión) envía múltiples solicitudes a una página que usa sesión, esas solicitudes se pondrán en cola y se procesarán en serie y no en paralelo.

+0

Oh wow. Nunca lo supe (y he estado trabajando con ASP desde ASP clásico). Guau. Pero ... eso tiene sentido :) Los datos de la sesión son importantes y por lo tanto necesitarán ser 'bloqueados', supongo, forzando el procesamiento en serie. Hmm ... Así que este sería un gran candidato para hacer que todos los Ajax ActionMethods sin sesión :) –

+4

Absolutamente, todas las llamadas AJAX deben hacerse sin sesión. Por cierto, odio la sesión, así que, en general, hago que toda mi aplicación no tenga sesiones :-) –

+1

¿No hay nada que necesites en la sesión? usuario registrado? –

Cuestiones relacionadas