2010-05-07 13 views
5

Je souhaite configurer mes services WCF pour utiliser un conteneur IoC. Il y a un article dans le wiki d'Autofac sur l'intégration de WCF, mais il montre juste une intégration avec un service hébergé dans IIS. Mais mes services sont hébergés dans un service Windows.Ajout de la prise en charge IoC à mon service WCF hébergé dans un service Windows (Autofac)

Ici, je suis un conseil pour brancher l'événement d'ouverture http://groups.google.com/group/autofac/browse_thread/thread/23eb7ff07d8bfa03

J'ai suivi les conseils et c'est ce que je suis arrivé à ce jour:

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

Le AutofacDependencyInjectionServiceBehavior a une cteur qui prend 3 paramètres. Le troisième est de type IComponentRegistration et je n'ai aucune idée d'où je peux l'obtenir. Des idées ?

Merci d'avance.

Répondre

5

J'ai écrit un billet de blog qui décrit comment utiliser l'intégration WCF Autofac lors de l'auto-hébergement des services WCF.

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

Cela devrait être suffisant pour vous diriger dans la bonne direction. Je vais mettre à jour la documentation sur le wiki Autofac pour inclure le même exemple.

+0

Ça a l'air génial !! Je vais l'essayer demain. Merci beaucoup!! – user137348

+0

Vraiment bon et utile. –