2012-03-02 11 views
5

¿Cómo puedo registrar registros internos de Castle Windsor? Por ejemplo, si he configurado erróneamente Castle de una manera que no está cargando la cadena de conexión, quiero saber si puedo registrar los errores de Castle cuando intenta resolver la cadena de conexión. Estoy usando Log4Net Facility y solo puedo ver registros de aplicaciones, no registros de Windsor.Registros internos para Castle Windsor

Respuesta

4

Su llamada a WindsorContainer.Resolve <> arrojará una excepción si la resolución falla. Debe registrar esta excepción en su código "bootstrapping" que es responsable de crear el contenedor y resolver los componentes necesarios. El mensaje de excepción generalmente le dice exactamente qué está mal en detalles insoportables.

Que yo sepa, Windsor no hace ningún registro "interno" a través de log4net (tal vez uno de los colaboradores puede corregir/afirmar esto). Si desea registrar eventos "internos", puede conectarlos a los controladores de eventos en el kernel (accesible a través de WindsorContainer.Kernel). Por ejemplo, hay eventos ComponentRegistered y DependencyResolving que le permiten tomar medidas personalizadas en registros y resoluciones, respectivamente.

Cuestiones relacionadas