Как создать экземпляр класса на основе файла web.config с помощью Castle Windsor? - PullRequest
2 голосов
/ 06 апреля 2011

Я работаю над приложением ASP.NET MVC и хочу создать экземпляр класса на основе настроек, написанных в web.config.

<configSections>
    <section name="castle"
        type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor" />
</configSections>

<castle>
    <components>
        <component
            id="SqlRepository"
            service="GomokuGameAppDomain.IGameRepository, GomokuGameAppDomain"
            type="GomokuGameAppDomain.SqlGameRepository, GomokuGameAppDomain"
            lifestyle="PerWebRequest">
            <parameters>
                 <connectionString>Data Source=ZOLIQ-PC\SQLEXPRESS;Initial Catalog=Gomoku;Integrated Security=True</connectionString>
            </parameters>
    </component>
</castle>
...

Я хотел бы использовать что-то вроде этого:

var container =
    new WindsorContainer (new XmlInterpreter (new ConfigResource ("castle")));

gameRepository = container.Resolve (typeof (IGameRepository)) as IGameRepository;

Как я мог решить это? Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 07 апреля 2011

Для полноты картины весь код выглядит следующим образом:

var container = new WindsorContainer();
container.Install(Castle.Windsor.Installer.Configuration.FromAppConfig());
var gameRepository = container.Resolve<IGameRepository>();

Удачного кодирования.

3 голосов
/ 07 апреля 2011
container.Install(Configuration.FromAppConfig());
...