2012-06-19 20 views
18

Estoy investigando el desarrollo de aplicaciones seguras para hilos. Sé que los usuarios pueden usar múltiples hilos en la misma aplicación (si la CPU funciona con más de un hilo) pero no estoy seguro de lo que sucede y de cómo IIS maneja a los usuarios cuando tienes 5 usuarios que usan la misma aplicación, por ejemplo.¿IIS le da a cada usuario conectado un hilo?

¿Qué hace IIS, son todos los usuarios que trabajan en el mismo hilo? o se les da un hilo cada uno, por ejemplo?

Soy un novato en lo que respecta a IIS, así que por favor tengan paciencia conmigo. Mi pregunta me ayudará a entender si necesito bloquear métodos públicos estáticos en mi código (donde la seguridad de la secuencia es importante).

+0

http://msdn.microsoft.com/en-us/library/ms525101(v=VS.90).aspx –

Respuesta

9

He aquí una buena lectura para comenzar con - ASP.NET Thread Usage on IIS 7.5, IIS 7.0, and IIS 6.0. Lo importante que debe recordar: IIS no creará subprocesos para los usuarios, sino que creará subprocesos para las llamadas simultáneas. Y, por supuesto, deberías crear métodos estáticos seguros para subprocesos, si no son puros.

+1

No olvide que el estado de la sesión puede causar llamadas simultáneas del mismo usuario para serializar. –

+0

¿significa eso que los marcos de conexión persistentes, como [SignalR] (http://signalr.net) bloquearán un hilo por cada usuario conectado? –

+0

que es un buen enlace – PeteH

4

Un usuario (o, estrictamente hablando, puede) tener una sesión, pero no necesariamente tiene un hilo dedicado a ellos. Si lo piensas, sería una cosa tremendamente ineficiente.

Sugiero que empiece a leer sobre las sesiones en lugar de los hilos si quiere saber cómo funciona.

+0

Entonces puedo decir esto; cada usuario recibe una sesión, y cada sesión puede usar un hilo (o varios hilos) si es necesario. ¿Es esto correcto? –

+3

Eso es correcto, pero no es la imagen completa. El punto que trato de hacer en mi respuesta original es que para un usuario cualquiera, hacen una solicitud y el sitio web genera una respuesta. Claramente, se requiere algo de hilo para atender esta solicitud. Pero una vez que se realiza la respuesta, ¿qué ocurre con el hilo? No se limita a esperar que el usuario haga otra solicitud. Es reutilizado por IIS para atender solicitudes de otras personas. El lado de la "sesión" de las cosas es cómo iis reconoce a un usuario que regresa (sin guardar hilos para ellos) – PeteH

+0

Esto también significa que 2 sesiones (1 para cada usuario) nunca entrarán en conflicto si no ha implementado ningún código de subprocesamiento múltiple –

Cuestiones relacionadas