Конфигурация Castle Windsor XML для прокси WCF с использованием средства интеграции WCF - PullRequest
1 голос
/ 23 апреля 2010

В настоящее время мы используем программирование регистрации прокси WCF в контейнере Windsor с использованием средства интеграции WCF.Например:

container.Register(
    Component.For<CalculatorSoap>()
      .Named("calculatorSoap")
      .LifeStyle.Transient
      .ActAs(new DefaultClientModel
      {
        Endpoint = WcfEndpoint.FromConfiguration("CalculatorSoap").LogMessages()
      }
      )
      );

Есть ли способ сделать то же самое через XML-файл конфигурации Windsor.Я не могу найти образец этого в Google.

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 11 мая 2010

Репозиторий Castle WCF Integration Facility (http://github.com/castleproject/Castle.Facilities.Wcf) теперь содержит образец регистрации клиента WCF из файла конфигурации Windsor:

<?xml version='1.0' encoding='utf-8' ?>
<configuration>
<facilities>
    <facility id='wcf' 
              type='Castle.Facilities.WcfIntegration.WcfFacility,
                    Castle.Facilities.WcfIntegration' />
</facilities>

<components>
    <component id='calculatorSoap'
               type='Demo.CalculatorSoap, Demo.UnitTests'
               wcfEndpointConfiguration='CalculatorSoap'>
    </component>
</components>
</configuration>

Это то, что я искал. Спасибо за вашу помощь.

Примечание: обратите внимание на образ жизни. В общем случае прокси WCF должен иметь временный образ жизни, чтобы быть закрытым при освобождении объекта. Хотя стиль жизни Windsor по умолчанию - синглтон, в этом случае прокси WCF будет закрыто при утилизации контейнера.

С уважением, Андрей

1 голос
/ 23 апреля 2010

Использование IWindsorInstaller и регистрация через код - рекомендуемый способ.Config для конфигурации (и унаследованных сценариев).

Я бы создал два установщика для этого и на основе флага компиляции использовал бы один или другой;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...