84 votes

Différence entre référence web et référence service ?

Quelle est la différence entre la référence web et la référence de service dans WCF ? Lequel est préférable dans WCF ?

65voto

Kevin Hoffman Points 2279

La réponse de bas niveau ici est qu'une référence Web créera une classe proxy client qui permet à votre code de parler à un service Web qui est décrit via WSDL et communique via SOAP ou HTTP GET (d'autres affiches indiquent qu'il s'agit uniquement d'ASMX, mais les références Web peuvent également parler à des services Web basés sur Java ou sur Python ou Ruby tant qu'ils parlent tous WSDL et se conforment à la norme d'interopérabilité WS-I).

Une référence de service créera une classe proxy client qui communique avec un service basé sur WCF : indépendamment du fait que ce service WCF soit un service Web ou non.

36voto

Christian Hayter Points 17999

Une référence Web vous permet de communiquer avec n'importe quel service basé sur n'importe quelle technologie qui met en œuvre le profil de base WS-I 1.1, et expose les métadonnées pertinentes sous forme de WSDL. En interne, il utilise la pile de communication ASMX du côté du client.

Une référence de service vous permet de communiquer avec n'importe quel service basé sur n'importe quelle technologie qui met en œuvre l'un des nombreux protocoles pris en charge par WCF (y compris, mais sans s'y limiter, le profil de base WS-I). En interne, elle utilise la pile de communication WCF du côté client.

Notez que ces deux définitions sont assez larges et qu'elles incluent des services non écrits en .NET.

Il est tout à fait possible (bien que non recommandé) d'ajouter une référence Web qui pointe vers un service WCF, tant que le point de terminaison WCF utilise l'option basicHttpBinding ou une variante personnalisée compatible.

Il est également possible d'ajouter une référence de service qui pointe vers un service ASMX. Lors de l'écriture d'un nouveau code, vous devez toujours utiliser une référence de service tout simplement parce qu'elle est plus flexible et à l'épreuve du temps.

12voto

DavidWhitney Points 1957

La référence de service est l'interface la plus récente pour ajouter des références à toutes sortes de services WCF (ils peuvent ne pas être des services Web) tandis que la référence Web concerne spécifiquement les références Web ASMX.

Vous pouvez accéder aux références web via les options avancées dans ajouter une référence de service (si je me souviens bien).

J'utiliserais la référence de service parce que, d'après ce que j'ai compris, c'est le mécanisme le plus récent des deux.

6voto

Brian Genisio Points 30777

Les références de service concernent les points de terminaison et les liaisons, qui sont entièrement configurables. Elles vous permettent de diriger votre proxy client vers un WCF via n'importe quel protocole de transport (HTTP, TCP, mémoire partagée, etc.).

Ils sont conçus pour fonctionner avec WCF.

Si vous utilisez un WebProxy, vous êtes pratiquement lié à l'utilisation de WCF sur HTTP.

4voto

Wagner Silveira Points 1138

Un autre point à prendre en considération est que la nouvelle interface utilisateur pour l'interface de service vous donnera beaucoup plus de flexibilité sur la façon dont vous voulez créer votre classe proxy. Par exemple, elle vous permettra d'associer des contrats de données à des dll existantes, si elles correspondent (c'est en fait le comportement par défaut).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X