2012-01-27 15 views
6

Estoy tratando de averiguar por qué ASP.NET Development Server no está procesando las solicitudes al mismo tiempo.El procesamiento simultáneo del Servidor de desarrollo ASP.NET no funciona

Por lo tanto, hemos creado una simple página aspx con el siguiente código:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

System.Threading.Thread.Sleep(10000) 

End Sub 

Si abro la página dos veces, la respuesta tarda 20 segundos. Eso significa que el servidor ejecuta las solicitudes una por una (no concurrentemente).

Siguiendo el consejo proporcionado en this topic, he agregado EnableSessionState="false" a la página, pero eso no parece ayudar.

¿Alguna idea sobre cómo hacer que las solicitudes se procesen al mismo tiempo?

Respuesta

7

El servidor de desarrollo asp.net (cassini) no puede manejar múltiples hilos. Por lo tanto, procesa las solicitudes de una en una. Desactivar la sesión realmente no afectará esto.

Es realmente solo para pruebas limitadas de usuario único de una aplicación web.

Le recomiendo que descargue cassini e instale IIS Express o simplemente vaya a la implementación completa de IIS.

Un poco de lectura: ASP.NET Dev Server (Cassini), IIS Express and multiple threads

0

IIS en XP no permite que muchas conexiones simultáneas (creo que es 10). Si se está desarrollando en ese entorno, puede ser por eso que está experimentando eso (además de esas 2 solicitudes, tiene solicitudes para que se realicen los archivos referenciados, además de que puede estar emitiendo más solicitudes de las que cree que es para esa página en particular) .

No estoy seguro de si el servidor integrado VS tiene limitaciones similares.

+0

No entiendo por qué esta respuesta fue visto por lo fuera de tema para hacer que alguien se Downvote. Creo que fue relevante, y aunque realmente no responde la pregunta (por vago que sea), no debería ser castigada. En todo caso, debería obtener "gracias de todos modos". Bueno, gracias, de todos modos, a quien lo hizo. –

+0

Estoy de acuerdo ... contrarrestando;) – NotMe

+0

sí ofreciste un buen ángulo de visión que no debería ser castigado sino recompensado ... –

0

Si está utilizando ASP.NET MVC sin deshabilitar SessionState (que de manera predeterminada sería), sus solicitudes se serializarán automáticamente, por lo que si está buscando condiciones de carrera con un valor aleatorio Thread.Sleep(), la Solicitud B nunca lo hará complete antes de la Solicitud A aunque el tiempo de sueño sea menor.

ASP.NET MVC and Ajax, concurrent requests?

Cuestiones relacionadas