2010-05-07 6 views
5

Desidero configurare i servizi WCF per utilizzare un contenitore IoC. C'è un articolo nel wiki di Autofac sull'integrazione di WCF, ma mostra solo un'integrazione con un servizio ospitato in IIS.Aggiunta del supporto IoC al servizio WCF ospitato in un servizio Windows (Autofac)

Ma i miei servizi sono ospitati in un servizio Windows.

Qui ho avuto un consiglio per collegare l'evento di apertura http://groups.google.com/group/autofac/browse_thread/thread/23eb7ff07d8bfa03

ho seguito il consiglio e questo è quello che ho ottenuto finora:

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

L'AutofacDependencyInjectionServiceBehavior ha un ctor che prende 3 parametri. Il terzo è di tipo IComponentRegistration e non ho idea di dove posso ottenerlo. Qualche idea ?

Grazie in anticipo.

risposta

5

Ho scritto un post sul blog che descrive come utilizzare l'integrazione WCF di Autofac quando si eseguono servizi WCF self-hosting.

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

che dovrebbe essere sufficiente per puntare nella direzione giusta. Ho intenzione di aggiornare la documentazione sul wiki di Autofac per includere lo stesso esempio.

+0

Sembra fantastico !! Lo proverò domani. Grazie mille!! – user137348

+0

Davvero un post utile e utile. –

Problemi correlati