Pregunta

Tengo una clase que implementa IHttpModule en un montaje separado de un sitio web. La implementación del módulo intercepta peticiones y reescribe URL de la página web.

Las asignaciones se almacenan en una clase con la URL solicitada y la URL de destino.

es el segundo ejemplo, MTSingleton, desde http://devhood.com/Tutorials /tutorial_details.aspx?tutorial_id=486 adecuado para la creación de la lista de asignación? ¿Hay un mejor enfoque desde el interior de la implementación del módulo?

Edit: Mi mal, esto es para IIS 6.0 y .NET 3.5 SP1

¿Fue útil?

Solución

Parece que usted está mirando para crear las asignaciones de objeto una vez en su ciclo de aplicación. Parece que usted está tratando de evitar que esto está creando una y otra vez por solicitud. (Por favor, aclarar si estoy equivocado.)

Mira los métodos en IHttpModule . Suponiendo que usted está trabajando con IIS 7.0, el ciclo de vida de ASP.Net mostrará que el método init () se disparó una vez. Es decir, se disparó una vez por ciclo de vida de la aplicación. Por lo tanto, el fuego de servidor web, la primera solicitud se iniciará Init () en el engranaje, a continuación, las solicitudes posteriores no necesitan disparar hasta que el ciclo de aplicación de servidor web se actualiza.

Usted debe ser capaz de moverse con seguridad su código de creación de asignaciones en el método Init (), que debe proporcionarle las garantías que está buscando con un tipo de producto único multi-hilo de inicialización. Se le debe quedar salvaguardias multi-hilo alrededor de su objeto de asignación, pero Init del IHttpModule () método debe dar el efecto de fuego de una vez y hacerlo que estás buscando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top