web-dev-qa-db-fra.com

Quelle est la différence entre une application de service WCF et une bibliothèque de services WCF?

Je développe un service Web WCF et j'ai utilisé le modèle d'application de service WCF pour ce faire.

La création d'une "application de service WCF" remplit-elle cette exigence? Quels sont les avantages de la création d'une bibliothèque de services WCF par rapport à une application de service WCF?

118
Ashish Ashu

Une application de service comprend un hôte de site Web déjà configuré pour vous. Une bibliothèque de services est une bibliothèque de services qu'un hôte peut référencer et démarrer.

Si vous commencez avec une bibliothèque de services (recommandé), vous pouvez alors choisir l'hôte de votre choix (un service Windows, IIS/ASP.NET ou même une application console) et vous référencerez simplement votre bibliothèque à partir de votre nouvel hôte. Le choix d'une application de service limite votre hôte à IIS/ASP.NET (bien que cela puisse convenir à vos besoins, mais limitera les protocoles que vous pouvez utiliser).

Edit: Les changements dans IIS depuis que j'ai écrit ceci permettent une plus grande variété de protocoles sur les services activés ASP.NET, donc le choix d'une application de service est beaucoup moins limitatif qu'auparavant .

148
Anderson Imes

Si tout ce que vous avez est le seul projet, je ne vois qu'une complexité supplémentaire si vous vous séparez pour le mieux. J'ai utilisé une bibliothèque lorsque j'ai eu des cas d'utilisation particuliers où j'ai dû héberger à la fois dans un service Windows et dans IIS.

Pour IIS vous pouvez déplacer les classes et les interfaces vers une bibliothèque mais conserver vos fichiers .SVC dans le projet Web. Vous devez modifier les fichiers .SVC pour pointer vers les classes correctement qualifiées.

10
Gary