¿Cómo puedo inyectar el valor de una entrada de AppSettings (desde app.config o web.config) en un servicio usando el contenedor Windsor? Si quería inyectar el valor de una propiedad de Windsor en un servicio, me gustaría hacer algo como esto:Inyectar la configuración de la aplicación usando Windsor
<properties>
<importantIntegerProperty>666</importantIntegerProperty>
</properties>
<component
id="myComponent"
service="MyApp.IService, MyApp"
type="MyApp.Service, MyApp"
>
<parameters>
<importantInteger>#{importantIntegerProperty}</importantInteger>
</parameters>
</component>
Sin embargo, lo que realmente me gustaría hacer es tomar el valor representado por #{importantIntegerProperty}
desde una configuración de aplicaciones variable que podría definirse así:
<appSettings>
<add key="importantInteger" value="666"/>
</appSettings>
EDIT: Para aclarar; Me doy cuenta de que esto no es posible de forma nativa con Windsor y el David Hayden article que se refiere a sliderhouserules en realidad se trata de su propio contenedor IoC (David Hayden), no de Windsor.
Seguramente no soy la primera persona en tener este problema, entonces ¿qué me gustaría saber es cómo otras personas han resuelto este problema?
Hay otro enfoque basado en el componente DictionaryAdapter, que se proporciona OOTB en Windsor 2.5 o posterior http://codebetter.com/blogs/benhall/archive/2010/07/22/improving-testability-with-the-castle-dictionary- adapter.aspx –
Gracias por el enlace, Krzysztof. Yo prefiero ese enfoque también. –