Я бы хотел настроить свои службы WCF на использование контейнера IoC. В вики Autofac есть статья об интеграции WCF, но она показывает только интеграцию со службой, размещенной в IIS.
Но мои службы размещены в службе Windows.
Здесь я получил совет подключиться к открытию
http://groups.google.com/group/autofac/browse_thread/thread/23eb7ff07d8bfa03
Я последовал совету, и вот что я получил до сих пор:
private void RunService<T>()
{
var builder = new ContainerBuilder();
builder.Register(c => new DataAccessAdapter("1")).As<IDataAccessAdapter>();
ServiceHost serviceHost = new ServiceHost(typeof(T));
serviceHost.Opening += (sender, args) => serviceHost.Description.Behaviors.Add(
new AutofacDependencyInjectionServiceBehavior(builder.Build(), typeof(T), ??? ));
serviceHost.Open();
}
AutofacDependencyInjectionServiceBehavior имеет ctor, который принимает 3 параметра. Третий тип IComponentRegistration
, и я понятия не имею, откуда его взять. Есть идеи?
Заранее спасибо.