2010-05-07 50 views
5

我想設置我的WCF服務以使用IoC容器。在Autofac wiki上有一篇關於WCF集成的文章,但它只是展示了與IIS中託管的服務的集成。將IoC支持添加到我在Windows服務託管的WCF服務中(Autofac)

但我的服務託管在一個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有一個構造函數這需要3個參數。第三個是IComponentRegistration類型,我不知道從哪裏可以得到它。有任何想法嗎 ?

在此先感謝。

回答

5

我寫了一篇博客文章,介紹如何在自託管WCF服務時使用Autofac WCF集成。

http://alexmg.com/self-hosting-wcf-services-with-the-autofac-wcf-integration/

這應該足以爲你指明正確的方向。我將更新Autofac wiki上的文檔以包含相同的示例。

+0

看起來不錯!我會在明天嘗試一下。非常感謝你!! – user137348 2010-05-07 14:18:09

+0

真的很好,有用的職位。 – 2011-10-19 14:42:47

相關問題