Подтвердить что ты не робот

Внедрение службы WCF через контейнер IoC

Можно ли запустить среду WCF для создания экземпляра службы через контейнер IoC вместо обычного процесса? (Также, учитывая потенциальное столкновение между конфигурацией образа контейнера для типа и сервиса InstanceContextBehavior, будет ли этот подход ужасной идеей?)

Я знаю, что я могу вообще задаться неправильным вопросом. Моя цель - подход AOP с помощью средств перехвата методов, предоставляемых контейнером (например, регистрация ввода/вывода метода, перфорирование и дросселирование вызова, все из которых связаны с логикой и зависимостями, которые я не хочу вставлять в свою реализацию службы). Я полагаю, WCF предлагает другие способы приблизиться к этому, поэтому мне также будет интересно услышать другие рекомендуемые подходы.

4b9b3361

Ответ 1

Да, реализация heres с использованием ObjectBuilder и Spring.NET(и многое другое, если вы следуете ссылкам!):

http://www.infoq.com/news/2008/01/wcf-di

Невозможно прокомментировать взаимодействие поведения образа и экземпляра контекста, хотя.

Как и для других подходов, специфичных для WCF, использование концепции поведения WCF (как показано в примере выше) также может быть полезно. Существует несколько разных типов, это отправная точка:

http://mehranikoo.net/CS/archive/2007/02/22/WCFBehaviours.aspx

Cheers,
Matt

Ответ 2

Короткий ответ - да, возможно.

Пожалуйста, взгляните на интеграцию Castle WCF. Это позволяет использовать Castle Windsor для WCF, что дает вам гораздо более мощные возможности, чем просто инъекционные зависимости. Лучше всего использовать версию trunk найденную здесь. Там не так много документации, но посмотрите на тесты. Они просты в использовании и будут хорошим примером для вас. Объект WCF позволяет вам делать именно те виды thinkgs, о которых вы просите.