2011-10-05 12 views
7

Soy nuevo en MVC3 y proviene de un fondo de Winforms. Tengo una pregunta de dos partes. El primero es simple: si tengo un controlador con una variable privada no estática, ¿tendré una "instancia" separada de esa variable para cada usuario que navegue a mi aplicación?Controlador MVC3 Accesibilidad variable

La segunda es más una pregunta general ... pero no estoy seguro de las palabras adecuadas para formularla. =) Supongamos que mi aplicación web se encuentra en un servidor que está siendo alimentado con texto a través de la red, y necesita publicar ese texto a un usuario final en particular (a través de AJAX), ¿cómo "encuentro" la sesión de ese usuario? Me preocupa el objetivo de publicar el texto en el navegador de solo un usuario cuando podría haber 50 conectados al servidor. ¿Cuál es la forma correcta de hacerlo?

Gracias!

Respuesta

7

si tengo un controlador con una variable no estática privada en ella, voy a tener un "ejemplo" separado de esa variable para cada usuario que navega en mi solicitud

Sí, se quiere tener una instancia separada para cada solicitud de usuario. Tendrá una instancia separada del controlador (y el campo privado) incluso para el mismo usuario si realiza solicitudes consecutivas. La duración de un controlador está vinculada solo a una solicitud HTTP dada.

¿cómo "encuentro" la sesión de ese usuario?

ASP.NET rastrea las sesiones de los usuarios utilizando cookies. Las cookies se envían automáticamente junto con las solicitudes de AJAX para que el servidor pueda identificar al usuario. Eche un vistazo a ASP.NET Session state.

+0

Gracias! ¡Esto es exactamente lo que estaba buscando! –