Comment puis-je faire en sorte qu'une bibliothèque de classes C# dispose de services WCF ? J'ai ajouté des services WCF, mais je n'arrive pas à les exécuter car il se plaint que le type de projet de la bibliothèque de classes ne peut pas être défini comme étant le démarrage. Des idées ?
Réponses
Trop de publicités?Eh bien, l'implémentation du service WCF dans votre bibliothèque de classes doit être hébergée quelque part - soit dans IIS (comme les anciens services web ASMX), soit vous pouvez l'héberger vous-même.
Consultez MSDN pour Comment héberger un service WCF dans une application gérée (auto-hébergement) ou Comment héberger un service dans IIS.
De plus, Visual Studio 2008 dispose également d'une application d'hébergement de service "générique" dans son dossier Common7/IDE, appelée "WcfSvcHost.exe". Consultez la documentation de MSDN à ce sujet. Vous pouvez configurer votre projet de bibliothèque de classes Visual Studio pour lancer automatiquement cette application d'hébergement de service afin d'héberger votre service, afin de le tester.
En effet, une dll n'est pas généralement "exécutée" en tant que telle. Il existe des hôtes pour les dll (COM+, par exemple), mais en général, vous auriez un exe (peut-être un service) ou IIS (ou un autre serveur web) agissant comme processus hôte. Pour un exemple, voir MSDN.
Pour des raisons de réutilisation, il est tout à fait possible d'avoir le "vrai" code dans la dll, et avoir l'exe hôte en tant que simple ligne de 5 lignes qui appelle simplement la dll (ce qui vous permet d'utiliser la dll dans d'autres scénarios).