asp.net-mvc - pagina - web forms c# tutorial
Habilitar/deshabilitar el estado de sesión por controlador/método de acción (2)
Estamos creando una aplicación MVC de ASP.NET que se implementará detrás de un equilibrador de carga de hardware que admite, entre otras cosas, el almacenamiento en caché.
Nuestra propuesta es definir manualmente qué patrones de URL deben ser almacenados en caché por el equilibrador de carga. Este será un proceso bastante fácil para nosotros, ya que tenemos páginas de "catálogo" que son relativamente estáticas, luego páginas de "pedido" que no lo son.
Debe evitar usar el estado de sesión en las páginas almacenadas en caché, ya que el equilibrador de carga almacena en caché toda la respuesta, lo que incluye todas las cookies que se envían.
Lo ideal sería que hubiera un atributo que se pueda aplicar a los controladores o métodos de acción que permita el uso selectivo del estado de sesión, pero no parece haber uno. Me doy cuenta de que un enfoque como este daría como resultado sesiones perdidas si el uso deja la ''zona de sesión'', eso está bien.
Aparte de volver a implementar todo el controlador HTTP ASP.NET MVC ... ¿Alguna sugerencia?
Gracias por adelantado.
Esto está incluido en MVC 2 Futures. Consulte http://blogs.msdn.com/rickandy/archive/2009/12/17/session-less-mvc-controller.aspx para obtener más información.
Ahora se ha movido de Futuros a MVC3. Hay un atributo ControllerSessionState
(aparentemente se llamará SessionState
para la versión final de MVC3), que se puede aplicar a un controlador, algo como esto:
[SessionState(SessionStateBehavior.Disabled)]
public class MyController : Controller
{
...
(Pero en la versión RC, debe usar ControllerSessionState