2012-09-28 23 views
9

¿Alguien sería tan amable de explicar o señalar un artículo que explica cómo el alcance de las clases y métodos estáticos interactúa con el alcance de una sesión de usuario de ASP.NET?ASP.NET Clases estáticas y sesiones asp.net

Aquí la situación es más específico que explica mi pregunta:

  1. usuario A inicia sesión en un sitio web asp.net.
  2. Al hacer algo, el usuario A usa un método estático que inicializa algunos datos.
  3. El usuario B inicia sesión en el mismo sitio web asp.net.
  4. El usuario B muestra el mismo método estático.

¿Los datos ya se han inicializado una vez que el usuario B lo golpea?

¿Qué sucede si la sesión asp.net del usuario A caduca antes de que el usuario B llegue al sitio web?

Respuesta

11

Los datos estáticos permanecen mientras el proceso se esté ejecutando. Está unido al tipo.

Si los datos que se inicializan se encuentran en un contexto estático, cuando el usuario B golpea el método, ya se habrá inicializado.

Las sesiones no son relevantes aquí, solo el proceso.

Si el proceso se recicla, los datos deberán reiniciarse.

2

comprobar estos mensajes: Why does my ASP.Net static function's "context" crossover between user sessions?

What is the scope of a Static Class?

C# Static variables - scope and persistence

http://msdn.microsoft.com/en-us/library/ms173138(v=vs.100).aspx

En resumen:

son los datos que ya está iniciado una vez que el usuario B le pega?

También lo que si la sesión del usuario A asp.net expira antes de que el usuario B golpea el sitio web?

usuario B tendrá acceso a los datos inicializados por el usuario A Los datos estáticos

se comparte entre todo el dominio de la aplicación de la webapp. Se comparte entre todos los subprocesos que atienden solicitudes en su aplicación web , no está vinculado a una sesión/subproceso/usuario de ninguna manera sino a la aplicación web en su conjunto.

Cuestiones relacionadas