Ce post sera un peu différent de ce que j’ai l’habitude de faire mais si cela ne vous servira pas au moins je vais l’avoir sous forme de note pour plus tard.
Comme depuis un certain temps je suis à fond dans tout ce qui est web service et leur exposition en REST, j’ai décidé d’essayer le kit WCF pour le REST. Mon premier reflexe est d’ajouter le mécanisme d’injection de dépendance dans WCF pour faciliter le découplage, etc. etc. J’ai donc défini ma propre ServiceHostFactory, mon ServiceHost etc. Je lance pour vérifier que tout marche bien et là BOOM sur la méthode base.OnOpening() de la ServiceHost :
Service 'RuntimeType' implements multiple ServiceContract types, and no endpoints are defined in the configuration file. WebServiceHost can set up default endpoints, but only if the service implements only a single ServiceContract. Either change the service to only implement a single ServiceContract, or else define endpoints for the service explicitly in the configuration file.

En fait le problème vient du fait que je n’appelle pas le bon constructeur. Sur la class WebServiceHost2 vous avez un constructeur supplémentaire dont la signature est la suivante :
public WebServiceHost2(System.Type serviceType, bool dummy, params System.Uri[] baseAddresses)
Le paramètre “dummy” fait son apparition et bien qu’à priori ce paramètre n’inspire pas ma confiance il faut lui passer la valeur “true”.
Maintenant tout se passe bien 
// Thomas
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :