Forcer WcfSvcHost.exe à utiliser mon hôte de service personnalisé

Est-il possible de forcer WcfSvcHost (qui est exécuté automatiquement lorsque je fais un F5 ou lorsque je débogue un autre projet dans la solution) pour utiliser un service ustom personnalisé?

Mon hôte de service personnalisé fonctionne parfaitement dans mon conteneur d’hôte asp.net en utilisant une fabrique de services qui appelle à son tour la base de services personnalisée.

Mais lorsque WcfSvcHost s’exécute, il n’utilise pas mon service ustom personnalisé.

Est-ce possible?

Si non, quelles sont mes alternatives? Je suppose que je dois décocher “Démarrer l’hôte du service WCF lors du débogage d’un projet dans une autre solution” qui se trouve dans Options WCF dans les propriétés de l’application, mais je dois ensuite créer un conteneur d’hôte de console?

Et je ne parviens pas à exécuter automatiquement le conteneur d’hôte de la console chaque fois que je débogue quelque chose

Je remarque cela sous DEBUG dans les propriétés de l’application (peut-être que je peux utiliser quelque chose comme ceci pour forcer le chargement du servicehost personnalisé)

/client:"WcfTestClient.exe" 

Le problème, c’est que j’ai mon ServiceHost personnalisé qui injecte des éléments UNITY (IOC), ici la méthode surchargée … afin qu’elle puisse s’exécuter sinon elle échoue.

 protected override void InitializeRuntime() { Bootstrapper.ConfigureUnityContainer(); base.InitializeRuntime(); } 

J’essayais exactement la même chose dans le même but (;-)

Je pensais avoir trouvé une solution en n’utilisant plus les fichiers .svc physiques (qui contiennent la fabrique d’hôtes personnalisée lors de l’hébergement dans IIS), mais en déplaçant cette information dans le fichier .config:

       

Cela fonctionne pour IIS, mais mettre les mêmes entrées dans le fichier app.config de mon projet de bibliothèque de services ne permet pas à SvcWcfHost de l’utiliser.

Je suppose que je ne reçois pas mon adresse relative.

Quelqu’un at-il une expérience avec cela?

kr, Michel Liesmons.

Je ne pense pas que vous puissiez le faire. Vous devrez héberger IIS ou créer votre propre hôte de service personnalisé.