2010-05-07 9 views
5

Chciałbym skonfigurować moje usługi WCF do korzystania z kontenera IoC. W wiki Autofac jest artykuł o integracji WCF, ale pokazuje on tylko integrację z usługą hostowaną w IIS.Dodawanie wsparcia IoC do mojej usługi WCF hostowanej w usłudze Windows (Autofac)

Ale moje usługi są hostowane w usłudze okien.

Tutaj dostałem porady zahaczyć zdarzenie otwarcia http://groups.google.com/group/autofac/browse_thread/thread/23eb7ff07d8bfa03

I już po radę i to, co mam do tej pory:

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 ma konstruktor, który trwa 3 parametry. Trzeci jest typu IComponentRegistration i nie mam pojęcia, skąd mogę go pobrać. Jakieś pomysły ?

Z góry dziękuję.

Odpowiedz

5

Napisałem post na blogu, który opisuje, w jaki sposób korzystać z integracji WCF z Autofac podczas samodzielnych usług WCF.

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

To powinno wystarczyć do punktu, w dobrym kierunku. Mam zamiar zaktualizować dokumentację na wiki Autofac, aby dołączyć ten sam przykład.

+0

Wygląda świetnie !! Wypróbuję to jutro. Dziękuję Ci bardzo!! – user137348

+0

Naprawdę dobry i przydatny post. –