BasicHttpBinding vs WsHttpBinding vs WebHttpBinding

dans WCF il y a plusieurs types de reliures basées sur HTTP:

Quelles sont les différences entre ces 3?

en particulier, quelles sont les différences en termes de caractéristiques / performances et de compatibilité?

260
demandé sur Mubashar Ahmad 2010-04-16 09:18:49

1 réponses

vous comparez les pommes aux oranges ici:

  • webHttpBinding est le rest-style binding, où vous essentiellement juste frapper une URL et de récupérer un chargement truckload de XML ou JSON du service web

  • basicHttpBinding et wsHttpBinding sont deux fixations à base de savon qui est tout à fait différent du repos. Le savon a l'avantage d'avoir WSDL et XSD pour décrire le service, ses méthodes, et les données étant transmises en détail (le reste n'a rien comme ça - encore). D'un autre côté, vous ne pouvez pas simplement naviguer sur un endpoint wsHttpBinding avec votre navigateur et regarder XML - vous devez utiliser un client SOAP, par exemple le WcfTestClient ou votre propre application.

ainsi votre première décision doit être: le repos vs le savon (ou vous pouvez exposer les deux types de points terminaux de votre service - c'est possible aussi).

ensuite, entre les reliures basicHttpBinding et wsHttpBinding, il y a des différences comme suit:

  • basicHttpBinding est la base de liaison SOAP 1.1, pas beaucoup en termes de sécurité, pas grand-chose en termes de fonctionnalités mais compatible à n'importe quel SAVON client --> idéal pour l'interopérabilité, la faiblesse sur les fonctions et la sécurité

  • wsHttpBinding is la reliure complète, qui prend en charge une tonne de WS - * fonctionnalités et les normes - il a beaucoup plus de fonctionnalités de sécurité, Vous pouvez utiliser des connexions sessionful, vous pouvez utiliser la messagerie fiable, vous pouvez utiliser le contrôle transactionnel - juste beaucoup plus de choses, mais wsHttpBinding est également beaucoup * plus lourd" et ajoute beaucoup de frais généraux à vos messages pendant qu'ils se déplacent à travers le réseau

pour une comparaison approfondie (y compris un tableau et des exemples de codes) entre les deux différences entre les reliures BasicHttpBinding et WsHttpBinding "1519340920

467
répondu marc_s 2013-07-20 16:09:44