Disminuir el tiempo de espera
La manera más fácil y no intrusiva para probar esto es probablemente sólo disminuir el tiempo de espera a una bastante pequeña número, como 3 o 5 minutos. De esta forma, puede pausar durante unos minutos para simular una pausa más larga sin preocuparse por los reinicios de la aplicación o el código de reinicio especial que tenga algún efecto en los resultados de la prueba.
Puede modificar el tiempo de espera del estado de la sesión en algunas ubicaciones, globalmente (en el archivo web.config ubicado en la carpeta config para la versión correspondiente de .NET framework), o solo para su aplicación.
Para modificar el tiempo de espera sólo para su aplicación, se puede añadir lo siguiente a web.config de su aplicación:
<system.web>
<sessionState timeout="60" />
...
Como alternativa, también puede modificar esta misma configuración para su aplicación a través de un diálogo de configuración de IIS (Sin embargo, creo que todavía necesita tener un web.config definido para su aplicación, de lo contrario la configuración de edición se desactivará).
Para acceder a esto, haga clic derecho en su aplicación web en IIS, y navegue a Propiedades | Pestaña ASP.NET | Editar configuración | Pestaña Administración de estado | Tiempo de espera de la sesión (minutos).
Tenga en cuenta que también puede manipular esta configuración a través del código; si esto ya se está haciendo, entonces la configuración en el archivo web.config será ignorada efectivamente y necesitará usar otra técnica.
llamada Session.Abandon()
Una técnica un poco más intrusivo que establecer un tiempo de espera de baja sería llamar Session.Abandon(). Sin embargo, asegúrese de llamar esto desde una página separada de su aplicación, ya que la sesión no finaliza hasta que se procesen todos los comandos de script en la página actual.
Según tengo entendido, esta sería una forma bastante limpia de probar los tiempos de espera de sesión sin esperarlos.
forzar un reinicio de la aplicación
En una configuración por defecto del estado de la sesión, se puede simular un tiempo de espera de la sesión insuflando las sesiones en su totalidad por causar la aplicación para reiniciar. Esto se puede hacer de varias maneras, algunas de las cuales se enumeran a continuación:
- reciclar el grupo de aplicaciones a través
- la MMC de IIS
- la línea de comandos (iisapp/a AppPoolId/r)
- modificar web.config, Global.asax, o una DLL en el directorio bin
- reiniciar IIS a través
- la MMC de IIS
- services.msc y reiniciar el servicio de administración de IIS
- la línea de comandos (iisreset)
Cuando menciono "configuración por defecto", me refiero una aplicación web que está configurada para usar el modo de estado de sesión "InProc". Hay otros modos que realmente pueden mantener el estado de la sesión incluso si se reinicia la aplicación web (StateServer, SQLServer, Custom).
manipular el mecanismo de seguimiento del estado
Asumiendo que su aplicación web no está configurado con un modo de "cookie-less" (por defecto, se utilizarán las cookies), usted podría quitar la cookie que contiene la sesión ID del navegador del cliente.
Sin embargo, tengo entendido que esto realmente no simula un tiempo de espera, ya que el servidor aún tendrá conocimiento de la sesión, simplemente no verá a nadie usándola. La solicitud sin una ID de sesión simplemente se tratará como una solicitud no vista que necesita una nueva sesión, que puede o no ser lo que desea probar.
Cuando dices pruebas de caja negra, supongo que eso significa que no tienes acceso al código, a los archivos de configuración ni a IIS. :) –
No responde la pregunta del OP, pero está relacionado: si solo necesita probar el comportamiento cuando el tiempo de espera es correcto o no, simplemente reinicie el servidor después de iniciar sesión.La sesión anterior será inválida –