Me encontré con un problema bastante peludo. ¡Probablemente haya una solución simple para esto, pero no puedo encontrarlo!Construtor/Setter Injection usando IoC en HttpHandler, ¿es posible?
Tengo un HttpHandler personalizado que quiero procesar una solicitud, registro cierta información y luego ingreso los detalles en la base de datos. Estoy usando NUnit y Castle Windsor.
Así que tengo dos interfaces; uno para registrar el otro para la entrada de datos, que son inyectores construidos. Descubrí rápidamente que no hay forma de llamar al constructor ya que siempre se llama al constructor sin parámetros predeterminado.
Así que pensé que usaría inyección de Setter y dejaría que Castle windsor lo resolviera. Esto realmente funciona, como cuando uso container.Resolve<CustomHttpHandler>();
, puedo verificar que el registrador no sea nulo. (En Application_Start en Global.asax.cs)
El problema es que aunque Castle Windsor puede crear la instancia que la aplicación http no está usando ??? ¿¿Creo??
Básicamente, la razón para hacerlo de esta manera era poder probar el logger y el código del repositorio de datos de forma aislada a través de burlas y pruebas de unidades.
¿Alguna idea de cómo puedo solucionar este problema?
Gracias!
Matt, no está bien cambiar tu pregunta así porque invalidas todas las respuestas existentes y obligas a todos a actualizar. Por favor, invierta su edición y cree una nueva pregunta. –
Hola Mauricio. Lo siento, obviamente soy nuevo en cómo funciona esto. Han revertido y creado una nueva pregunta. ¡Gracias! – Matt