2009-10-09 9 views
4

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é? J'ai mon hôte de service personnalisé qui fonctionne très bien dans mon conteneur hôte ASP.net en utilisant une usine de service qui à son tour appelle la base de service personnalisé.Forcer WcfSvcHost.exe à utiliser mon hôte de service personnalisé

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

Est-ce possible?

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

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

Je remarque cela sous DEBUG dans les propriétés d'application (peut-être que je peux utiliser quelque chose comme cela pour forcer le chargement du ServiceHost personnalisé)

/client:"WcfTestClient.exe" 

L'être problème est que j'ai mon habitude ServiceHost injecter un peu UNITY (IOC) stuff, ici la méthode overriden ... donc il doit exécuter sinon il échoue.

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

Répondre

1

Je ne pense pas que vous pouvez le faire - vous aurez besoin d'héberger dans IIS ou créer votre propre, hôte de service personnalisé.

3

Je cherchais exactement la même chose pour exactement le même but (;-)

Je pensais que je trouve une solution en évitant d'utiliser des fichiers .SVC physiques plus (qui contiennent l'usine d'accueil personnalisée lors de l'hébergement dans IIS) , mais le déplacement de cette information dans le fichier .config à la place:

<serviceHostingEnvironment aspNetCompatibilityEnabled="false"> 
    <serviceActivations> 
    <add relativeAddress="~/Services/NaisTime/NaisTimeService.svc" service="Nais.Time.Services.NaisTime.NaisTimeService" 
     factory="Nais.Time.Services.NaisServiceHost.NaisServiceHostFactory, Nais.Time.Services" /> 
    <add relativeAddress="~/Services/Northwind/NorthwindService.svc" service="Nais.Time.Services.Northwind.NorthwindService" 
     factory="Nais.Time.Services.NaisServiceHost.NaisServiceHostFactory, Nais.Time.Services" /> 
    </serviceActivations> 
</serviceHostingEnvironment> 

Il fonctionne pour IIS, mais mettre les mêmes entrées dans le fichier app.config de mon projet de bibliothèque de service ne fait pas SvcWcfHost utiliser. Je suppose que je ne reçois pas mon adresse relative correctement.

Quelqu'un a-t-il une expérience avec cela?

kr, Michel Liesmons.

Questions connexes