¿Es sano usar Thread.sleep (int) en ASP.NET o debo usar otro método?
-
26-10-2019 - |
Pregunta
Quiero introducir una ligera espera durante algunas funciones de prueba, para simular una llamada de servidor. ¿Es sano de usar? Thread.Sleep(int)
¿Presentar la espera o hay un mejor método para que el servidor espere?
Tenga en cuenta que me detendré el tiempo suficiente para que vea visualmente un retraso suficiente, incluso aunque no espero ver tal retraso en la aplicación real. Esto es para mí visualizar el retraso real que pudo ocurrir.
Planeo ejecutar esto tanto en el servidor web de depuración local VS20 como en IIS 7. Estoy en .NET 3.5
Solución
Thread.Sleep(int)
es lo que usaría.
Otros consejos
Si está utilizando MVC y SessionState, sus solicitudes se serializarán automatial Thread.Sleep()
Valor, entonces la solicitud B nunca se completará antes de solicitar un incluso si el tiempo durmió si es menos.
Esto está perfectamente bien para su prueba de Sceanrio. Siempre que no esté haciendo pruebas de estrés/carga o llamadas a los servicios, los reemplazar los reemplazar con un sueño simple, da una aproximación cercana del comportamiento del servidor.
Si su código utiliza llamadas de servicio asíncrono, es posible que desee emular un poco más de las llamadas de servicio y poner durmientes en hilos separados como si llamara al servicio, pero tardó mucho tiempo. De esta manera, ASP.NET se comportará normalmente e incluso puede probar algunas pruebas de carga.