2010-01-27 15 views
21

Necesito entender algo sobre el estado de sesión ASP.NET, ya que se aplica a IIS 7 y ASP.net 3.5.ASP.NET estado de sesión y múltiples procesos de trabajo

Si una aplicación está configurada para usar el estado de sesión en proceso, ¿funcionará bien si hay múltiples procesos de trabajo? En otras palabras, ¿los procesos de trabajo comparten el estado de la sesión?

La configuración predeterminada para IIS 7 es utilizar el estado de la sesión en proceso y asignar un máximo de 10 procesos de trabajo. Parece probable entonces que esta configuración predeterminada funcione. Estoy tratando con una compañía que ha producido una aplicación web ASP.NET MVC que está teniendo algunos problemas, están culpando al entorno del servidor. El reclamo es que debido a que estoy usando la configuración predeterminada de 10 procesos de trabajo, eso está rompiendo su estado de sesión. Necesito saber si esto es de hecho una afirmación precisa. Nunca he sabido que una aplicación ASP.NET no funciona con la configuración predeterminada, por lo que estoy un poco confundido y necesito aclarar esto.

+1

¿Cuáles son los problemas que está experimentando la aplicación? Suena más como un problema de reciclaje de procesos de trabajo a primera vista. –

+0

sesión de proceso no se comparte entre procesos de trabajo. Simplemente configure su grupo de aplicaciones para usar solo 1 y los problemas desaparecerán. – NotMe

Respuesta

21

Tener múltiples procesos de trabajo y usar InProc no parece ser compatible.

Ver this:

si habilita el modo Web-jardín estableciendo el atributo webGarden en true en el elemento processModel del archivo Web.config de la aplicación, no utilice el modo de estado de sesión InProc. Si lo hace, la pérdida de datos puede ocurrir si los diferentes procesos de trabajo sirven diferentes solicitudes para la misma sesión.

+0

esto no está funcionando. –

5

Puedo estar equivocado, pero hasta donde yo sé, de manera predeterminada solo tiene 1 proceso de trabajo por dominio de aplicación con múltiples subprocesos de trabajo para manejar las solicitudes. En este caso, el estado de la sesión de In-Proc debería funcionar bien (la configuración predeterminada).

Pero si tiene múltiples procesos de trabajo (no solo procesos de trabajo), necesita un estado de sesión fuera de proceso.

Creo que tener más de 1 proceso de trabajo en ASP.NET se refiere al modo de jardín web que tiene que habilitar específicamente y, si lo hace, entonces necesita administración de estado fuera de proceso. Consulte comment box on this page bajo el encabezado en modo de proceso.

8

Más de un proceso de trabajo es un "jardín web". El estado de la sesión en proceso no funcionará correctamente. Tendrá que usar un proceso de trabajo único para su aplicación web, o usar un servidor de estado de sesión o SQL Server para el estado de la sesión.

Cuestiones relacionadas