2010-05-07 8 views
5

Ich möchte meine WCF-Dienste für die Verwendung eines IoC-Containers einrichten. Es gibt einen Artikel im Autofac-Wiki über WCF-Integration, aber es zeigt nur eine Integration mit einem Service, der in IIS gehostet wird.Hinzufügen von IoC-Support zu meinem WCF-Dienst in einem Windows-Dienst (Autofac)

Aber meine Dienste sind in einem Windows-Dienst gehostet.

Hier habe ich einen Rat die Eröffnungsveranstaltung http://groups.google.com/group/autofac/browse_thread/thread/23eb7ff07d8bfa03

ich den Rat befolgt haben anzuschließen und das ist, was ich so weit gekommen:

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(); 
    } 

Die AutofacDependencyInjectionServiceBehavior hat eine Ctor, die nimmt 3 Parameter. Der dritte ist vom Typ IComponentRegistration und ich habe keine Ahnung wo ich ihn bekommen kann. Irgendwelche Ideen ?

Vielen Dank im Voraus.

Antwort

5

Ich habe einen Blogbeitrag geschrieben, in dem beschrieben wird, wie die Autofac WCF-Integration beim Self-Hosting von WCF-Diensten verwendet wird.

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

Das sollte ausreichen, um Sie in die richtige Richtung zu weisen. Ich werde die Dokumentation im Autofac-Wiki aktualisieren, um das gleiche Beispiel zu verwenden.

+0

Sieht gut aus !! Ich werde es morgen ausprobieren. Vielen Dank!! – user137348

+0

Wirklich gute und nützliche Post. –

Verwandte Themen