BasicHttpBindingとWsHttpBindingとWebHttpBinding


297

WCFには、HTTPベースのバインディングにいくつかの異なるタイプがあります。

これらの3つの違いは何ですか?

特に、機能、パフォーマンス、互換性の違いは何ですか?


44
[BasicHttpBinding = Soap 1.1]、[WsHttpBinding = Soap 1.2]、[WebHttpBinding = Rest]
Frank Myat Thu

2つのSOAPベースのバインディングの比較:basicHttpBindingとwsHttpBinding
DavidRR

回答:


518

ここでリンゴとオレンジを比較しています。

  • webHttpBindingはRESTスタイルのバインディングであり、基本的にはURLにアクセスして、WebサービスからXMLまたはJSONのトラックロードを取得するだけです。

  • basicHttpBindingwsHttpBindingは、RESTとはまったく異なる2つのSOAPベースのバインディングです。SOAPには、WSDLとXSDを使用して、サービス、そのメソッド、渡されるデータを詳細に記述するという利点があります(RESTにはまだそのようなものはありません)。一方、ブラウザーでwsHttpBindingエンドポイントを参照してXMLを見るだけでは、WcfTestClientや独自のアプリなどのSOAPクライアントを使用する必要があります。

したがって、最初の決定は、RESTとSOAPのどちらかです(または、サービスから両方のタイプのエンドポイントを公開できます-それも可能です)。

次に、basicHttpBindingとwsHttpBindingの間には、次のような違いがあります。

  • basicHttpBindingは非常に基本的なバインディングです。SOAP1.1であり、セキュリティに関してはそれほど多くなく、機能に関してはそれほど多くありませんが、そこにあるあらゆるSOAPクライアントと互換性があります->相互運用性に優れ、機能とセキュリティに弱い

  • wsHttpBindingは、本格的なバインディングであり、大量のWS- *機能と標準をサポートしています。これには、より多くのセキュリティ機能があり、セッションフル接続を使用でき、信頼性のあるメッセージングを使用でき、トランザクション制御を使用できます。 、しかしwsHttpBindingも*重い "ため、メッセージがネットワーク上を移動するときにメッセージに多くのオーバーヘッドが追加されます

2つの間の詳細な比較(テーブルとコード例を含む)については、このcodeprojectの記事を確認してください:BasicHttpBindingとWsHttpBindingの違い


1
私はここで何の決定もしていません。オレンジの味とリンゴの味が何であるかを知っておく必要がある違いを知りたかったので、この質問をしました。機能の比較とパフォーマンスの観点から、WebHttpBindingについて詳しく知りたい
Mubashar

GoogleまたはBingをチェックして、「REST vs. SOAP」を検索してください- そこにはたくさんの情報があります!
marc_s 2010

4
1つの修正:wsHttpBindingはストリーミングをサポートしていません。それとも何か不足していますか?msdn.microsoft.com/en-us/library/ms730879.aspx
Andrew Shepherd

1
@Andrew Shepherd:リンクと修正に感謝
間違い

@EduardoLeónRESTのテナントの1つは、HTTPに組み込まれた機能を利用することです。認証はHTTPに組み込まれているため、必要に応じて任意のタイプの認証プロバイダーを使用できます。これは、BasicまたはNTLMなどの単純なようかもしれない、またはあなたは、より高度な何かができるなどそのレバレッジのOAuth / STSトークン、
BrainSlugs83
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.