Resolución de Windsor PerWebRequest en Application_Start
-
26-09-2019 - |
Pregunta
Estoy inyectando HttpContextBase en una clase de almacenamiento en caché. HttpContextBase está registrada como PerWebRequest. Interactúo con la clase de almacenamiento en caché para cada solicitud Web y esto funciona bien, pero también necesito para inicializar la memoria caché en el arranque de la aplicación.
Yo entiendo que PerWebRequest no funciona en Application_Start sin embargo:
castillo PerRequestLifestyle no reconoce
¿Cuál es la mejor manera de resolver esto en mi situación?
Solución
No utilice materia que depende de cosas fuera por la web-petición de solicitud web.
Si tiene que depender de una clase que se registró como PWR yo sugeriría conseguir otro componente para ese servicio con diferentes estilos de vida y usarlo en Application_Start y el uso de IHandlerSelector
de retorno PWR uno cuando estás dentro de una petición web, y el otro lo contrario
Otros consejos
Trate de usar un híbrido WebRequest / estilo de vida transitoria .
Para cachés de calentamiento cuando el contenedor se inicia lo general el uso del Fondo para el iniciable. Aquí hay un ejemplo de cómo se usa: http://blog.bittercoder.com/PermaLink, GUID, a621ddda-acb5-4afd-84ff-faafb96a2fa1.aspx