Quelle est la différence entre eux?
Quand devrais-je opter pour l'un plutôt que pour l'autre?
wcf
web-services
Développeur
la source
la source
Réponses:
Cette réponse est basée sur un article qui n'existe plus:
Résumé de l'article:
«Fondamentalement, WCF est une couche de service qui vous permet de créer des applications qui peuvent communiquer à l'aide de divers mécanismes de communication. Avec lui, vous pouvez communiquer en utilisant Peer to Peer, les canaux nommés, les services Web, etc.
Vous ne pouvez pas les comparer car WCF est un framework pour créer des applications interopérables. Si vous le souhaitez, vous pouvez le considérer comme un facilitateur SOA. Qu'est-ce que ça veut dire?
Eh bien, WCF est conforme à quelque chose appelé ABC, où A est l'adresse du service avec lequel vous souhaitez communiquer, B représente la liaison et C représente le contrat. Ceci est important car il est possible de modifier la liaison sans nécessairement changer le code. Le contrat est beaucoup plus puissant car il force la séparation du contrat de la mise en œuvre. Cela signifie que le contrat est défini dans une interface et qu'il existe une implémentation concrète à laquelle le consommateur est lié en utilisant la même idée du contrat. Le modèle de données est extrait. "
... plus tard ...
"devrait utiliser WCF lorsque nous avons besoin de communiquer avec d'autres technologies de communication (par exemple. Peer to Peer, Named Pipes) plutôt qu'avec un service Web"
la source
De Quelle est la différence entre WCF et les services Web?
la source
Service Web est basé sur SOAP et renvoie des données au format XML. Il ne prend en charge que le protocole HTTP. Il n'est pas open source mais peut être utilisé par n'importe quel client qui comprend xml. Il ne peut être hébergé que sur IIS.
WCF est également basé sur SOAP et renvoie des données au format XML. C'est l'évolution du service web (ASMX) et prend en charge divers protocoles comme TCP, HTTP, HTTPS, Named Pipes, MSMQ. Le principal problème avec WCF est sa configuration fastidieuse et étendue. Il n'est pas open source mais peut être utilisé par n'importe quel client qui comprend xml. Il peut être hébergé dans l'applicaion ou sur IIS ou en utilisant le service Windows.
la source
La différence fondamentale et principale est que le service Web ASP.NET est conçu pour échanger des messages SOAP sur HTTP uniquement tandis que le service WCF peut échanger des messages en utilisant n'importe quel format (SOAP est par défaut) sur n'importe quel protocole de transport, à savoir HTTP, TCP, MSMQ ou NamedPipes, etc.
la source
Le service Web utilise uniquement le protocole HTTP lors du transfert de données d'une application à une autre application.
Mais WCF prend en charge plus de protocoles pour le transport de messages que les services Web ASP.NET. WCF prend en charge l'envoi de messages à l'aide de HTTP, ainsi que du protocole TCP (Transmission Control Protocol), des canaux nommés et de Microsoft Message Queuing (MSMQ).
Pour développer un service en Web Service, nous écrirons le code suivant
Pour développer un service dans WCF, nous écrirons le code suivant
Le service Web n'est pas plus robuste sur le plan architectural. Mais WCF est plus robuste sur le plan architectural et promeut les meilleures pratiques.
Les services Web utilisent XmlSerializer mais WCF utilise DataContractSerializer. Quelle est la meilleure performance par rapport à XmlSerializer?
Pour les appels de service à service internes (derrière le pare-feu), nous utilisons la liaison net: tcp, qui est beaucoup plus rapide que SOAP.
WCF est 25% à 50% plus rapide que les services Web ASP.NET et environ 25% plus rapide que .NET Remoting.
WCF est utilisé pour communiquer entre d'autres applications qui ont été développées sur d'autres plates-formes et en utilisant d'autres technologies.
Par exemple, si je dois transférer des données de la plate-forme .net vers une autre application qui fonctionne sur un autre système d'exploitation (comme Unix ou Linux) et qu'ils utilisent un autre protocole de transfert (comme WAS ou TCP), il est uniquement possible de transférer des données en utilisant WCF.
Il n'y a pas de restriction de plate-forme, de protocole de transfert d'application tout en transférant les données d'une application à une autre application.
La sécurité est très élevée par rapport au service Web
la source
La principale différence est le délai d'expiration, le service WCF a expiré lorsqu'il n'y a pas de réponse, mais le service Web n'a pas cette propriété.
la source