Alex Rivera | Logout

Inject App Settings using Windsor

Asked 2008-10-28T21:28:48.537
14

How can I inject the value of an appSettings entry (from app.config or web.config) into a service using the Windsor container? If I wanted to inject the value of a Windsor property into a service, I would do something like this:

<properties>
    <importantIntegerProperty>666</importantIntegerProperty>
</properties>
<component
    id="myComponent"
    service="MyApp.IService, MyApp"
    type="MyApp.Service, MyApp"
    >
    <parameters>
        <importantInteger>#{importantIntegerProperty}</importantInteger>
    </parameters>
</component>

However, what I'd really like to do is take the value represented by #{importantIntegerProperty} from an app settings variable which might be defined like this:

<appSettings>
    <add key="importantInteger" value="666"/>
</appSettings>

EDIT: To clarify; I realise that this is not natively possible with Windsor and the David Hayden article that sliderhouserules refers to is actually about his own (David Hayden's) IoC container, not Windsor.

I'm surely not the first person to have this problem so what I'd like to know is how have other people solved this issue?

Edit
Report

1 Answer

2

I wrote a post about a similar case a couple of months ago. It uses a SubDependencyResolver to inject the appropriate parameters. In your case, you can just change DynamicConfigurationSettings for ConfigurationManager.

answered 2008-11-12T13:05:51.057

Your Answer