que quería ofrecer aquí mis hallazgos relacionados a esta pregunta como he observado en IIS6:
he estado tratando con este tema extensamente en IIS6 y han encontrado algunos resultados interesantes que utilizan log4net y reflexión para capturar historial de ejecución . Lo que he encontrado es que hay una extensa "gestión de hilos" detrás de escena. Parece que hay una serie 'primaria' de hilos que corresponde de 1: 1 a HttpApplication
. Sin embargo, estos hilos no manejan exclusivamente la tubería para su solicitud. Se pueden llamar varios sub-hilos diferentes cuando se accede a estas instancias. Las nuevas solicitudes y solicitudes de recursos posteriores utilizadas por su aplicación parecen compartir cierta información persistente relacionada con su solicitud original, pero nunca se manejan del todo por el hilo inicial que indica algún tipo de relación. No pude discernir ningún patrón concreto (aparte de lo que describí anteriormente) en cuanto a qué elementos se dividen en otros hilos, ya que era aparentemente aleatorio. Mi conclusión a esta evidencia es que hay algún concepto de agrupamiento jerárquico? que ocurre cuando se hereda un subconjunto desconocido de elementos de referencia en los hilos hijo a través de la referencia principal.
Así que como una respuesta yo diría que HttpModules
son compartidos entre hilos. En términos de valores de instancia de bloqueo, esto sería aplicable si los valores se aplican a todas las solicitudes que usan el módulo y deben mantener algún estado. Pude ver que esto es útil si se trata de mantener valores de instancia con estado que son costosos de determinar para que puedan ser reutilizados en solicitudes posteriores.
Este problema me ha estado preocupando por algún tiempo con suerte esta información ayuda a alguien.
Sí, reutiliza la instancia entre muchas solicitudes diferentes. Pero la pregunta es si reutiliza la instancia entre diferentes hilos. –
Por lo que puedo decir: sí, pero no al mismo tiempo. Parece que se ha asignado una aplicación Http a una solicitud determinada durante el tiempo que dure esa solicitud. – sblom
Ok, gracias. Esperaré hasta que alguien sepa exactamente eso para confirmarlo, ya que usaré ese código en el entorno de producción y será difícil depurarlo. –