WCF - en utilisant de multiples liaisons, y compris REST (WebHttpBinding) sur une bibliothèque de services?

StackOverflow https://stackoverflow.com/questions/1859079

Question

Je veux exposer ma couche de service (qui est actuellement écrit bibliothèque de classe standard avec Poços) pour externe ainsi que la consommation intérieure. Les clients externes vont l'utiliser sur les API de type REST tandis qu'à l'intérieur de mon application MVC va l'utiliser sur la liaison net.tcp pour une meilleure performance.

Comment puis-je faire avec élégance? Je peux écrire 2 wrappers un pour REST en utilisant VS2010 Beta 2 fonctions REST et d'autres en utilisant les liaisons standards WCF.

Puis-je faire cela dans un emballage? ou mieux juste refactorisation mes services existants WCF et d'exposer sur divers points d'extrémité à l'aide de différentes liaisons comme webHttpBinding, WSHttpBinding, etc.

Cordialement,

Ajay

Était-ce utile?

La solution

Votre bibliothèque de service ne contient la mise en œuvre du service - votre service (et des données) les contrats devraient être dans leur propre assemblée « Contrats » séparés

.

La question de l'hébergement et ce protocole à utiliser est géré par votre service host - cela peut être IIS ou un service NT distinct ou une application console ou quelque chose. C'est totalement indépendant de votre classe de service et votre bibliothèque de services.

Alors oui - vous pouvez facilement créer une bibliothèque de services et d'exposer ce service sur une multitude de points de terminaison dans votre hôte de service -. Ces deux choses doivent être conservés totalement séparés les uns des autres

Autres conseils

Bien sûr, vous pouvez simplement ajouter plusieurs d'entre eux dans le fichier de configuration ou en utilisant le code.

VS 2010 fonctionnalités REST Beta 2 sont eux-mêmes construit sur WCF, donc si vous voulez les utiliser, vous aurez à factoriser votre service dans un service WCF de toute façon. À ce moment-là, comme Dani et marc_s disent, vous pouvez très facilement ajouter des effets supplémentaires au service via le fichier de configuration.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top