In WCF gibt es verschiedene Arten von HTTP-basierten Bindungen:
Was sind die Unterschiede zwischen diesen 3?
Was sind insbesondere die Unterschiede in Bezug auf Funktionen / Leistung und Kompatibilität?
In WCF gibt es verschiedene Arten von HTTP-basierten Bindungen:
Was sind die Unterschiede zwischen diesen 3?
Was sind insbesondere die Unterschiede in Bezug auf Funktionen / Leistung und Kompatibilität?
Antworten:
Sie vergleichen hier Äpfel mit Orangen:
webHttpBinding ist die Bindung im REST-Stil, bei der Sie im Grunde nur eine URL eingeben und eine Menge XML oder JSON vom Webdienst zurückerhalten
basicHttpBinding und wsHttpBinding sind zwei SOAP-basierte Bindungen, die sich stark von REST unterscheiden. SOAP hat den Vorteil, dass WSDL und XSD den Dienst, seine Methoden und die Daten, die weitergegeben werden, detailliert beschreiben (REST hat so etwas noch nicht). Auf der anderen Seite können Sie nicht einfach mit Ihrem Browser zu einem wsHttpBinding-Endpunkt navigieren und sich XML ansehen - Sie müssen einen SOAP-Client verwenden, z. B. den WcfTestClient oder Ihre eigene App.
Ihre erste Entscheidung muss also sein: REST vs. SOAP (oder Sie können beide Arten von Endpunkten aus Ihrem Service verfügbar machen - das ist auch möglich).
Dann gibt es zwischen basicHttpBinding und wsHttpBinding folgende Unterschiede:
basicHttpBinding ist die grundlegende Bindung - SOAP 1.1, nicht viel in Bezug auf Sicherheit, nicht viel in Bezug auf Funktionen - aber kompatibel mit nahezu jedem SOAP-Client da draußen -> ideal für Interoperabilität, schwach in Bezug auf Funktionen und Sicherheit
wsHttpBinding ist die vollständige Bindung, die eine Menge WS- * -Funktionen und -Standards unterstützt - sie bietet viel mehr Sicherheitsfunktionen, Sie können sitzungsbezogene Verbindungen verwenden, Sie können zuverlässiges Messaging verwenden, Sie können die Transaktionssteuerung verwenden - nur viel mehr , aber wsHttpBinding ist auch viel * schwerer "und fügt Ihren Nachrichten viel Overhead hinzu, wenn sie über das Netzwerk übertragen werden
Einen detaillierten Vergleich (einschließlich einer Tabelle und Codebeispiele) zwischen den beiden finden Sie in diesem Artikel zum Codeprojekt: Unterschiede zwischen BasicHttpBinding und WsHttpBinding
quelle