Feel Good.

20 января 2011

IoC/DI в WCF на примере Unity 2.0

В этой статье я продемонстрирую процесс внедрения IoC/DI контейнера (на примере Unity 2.0) в WCF сервис. В примере я выбрал Unity 2.0, но на самом деле это не существенно, и по желанию можно легко адаптировать код под другой IoC/DI контейнер. Для тех кто не знаком еще с данным контейнером, рекомендую глянуть вводную статью. Существуют несколько путей внедрения IoC/DI контейнера в WCF сервис, рассмотрим один из них*.
Итак, предже чем приступить к реализации наметим основные шаги:
  1. Для начала создадим простой WCF сервис
  2. Реализуем свой IInstanceProvider
  3. Далее опишем собственную реализацию IServiceBehavior
  4. Определим BehaviorExtensionElement
  5. И закончим, добавив необходимые настройки в web.config
*На самом деле это не единственный способ внедрения контейнера, существуют варианты с использованием ServiceHostBase и ServiceHostFactoryBase