Dans WCF il y a plusieurs types différents de liens basés sur HTTP :
Quelles sont les différences entre les trois ?
En particulier, quelles sont les différences en termes de fonctionnalités/performances et de compatibilité ?
Dans WCF il y a plusieurs types différents de liens basés sur HTTP :
Quelles sont les différences entre les trois ?
En particulier, quelles sont les différences en termes de fonctionnalités/performances et de compatibilité ?
Vous comparez des pommes et des oranges ici :
webHttpBinding la liaison de type REST, où il suffit de cliquer sur une URL pour recevoir une quantité importante de données XML ou JSON du service web.
basicHttpBinding y wsHttpBinding sont deux liaisons basées sur SOAP, ce qui est très différent de REST. SOAP a l'avantage de disposer de WSDL et XSD pour décrire le service, ses méthodes et les données transmises de manière très détaillée (REST n'a rien de tel - encore). D'autre part, vous ne pouvez pas simplement naviguer vers un point de terminaison wsHttpBinding avec votre navigateur et regarder le XML - vous devez utiliser un client SOAP, par exemple le WcfTestClient ou votre propre application.
Votre première décision doit donc être : REST ou SOAP (ou vous pouvez exposer les deux types de points d'accès à partir de votre service - c'est également possible).
Ensuite, entre basicHttpBinding et wsHttpBinding, les différences sont les suivantes :
basicHttpBinding est le binding le plus basique - SOAP 1.1, pas grand chose en termes de sécurité, pas grand chose d'autre en termes de fonctionnalités - mais compatible avec à peu près n'importe quel client SOAP --> excellent pour l'interopérabilité, faible en termes de fonctionnalités et de sécurité
wsHttpBinding est la liaison complète, qui prend en charge une tonne de fonctionnalités et de normes WS-* - elle possède beaucoup plus de fonctionnalités de sécurité, vous pouvez utiliser des connexions avec session, vous pouvez utiliser une messagerie fiable, vous pouvez utiliser un contrôle transactionnel - beaucoup plus de choses, mais wsHttpBinding est aussi beaucoup plus "lourd" et ajoute beaucoup de surcharge à vos messages lorsqu'ils voyagent sur le réseau.
Pour une comparaison approfondie (y compris un tableau et des exemples de code) entre les deux, consultez cet article de codeproject : Différences entre BasicHttpBinding et WsHttpBinding
Si vous obtenez une référence d'espace de nom de service manquante lorsque vous copiez vos fichiers sur le serveur Web, essayez ce qui suit. Nous avons constaté que la publication du projet et la copie du fichier App_WebReference.dll dans le dossier bin règlent le problème. En utilisant les liens qui sont générés par l'ajout du service dans votre projet et qui se trouvent dans le web.config, vous pouvez ensuite les copier dans le web.config de votre serveur.
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.