WCFには、HTTPベースのバインディングにいくつかの異なるタイプがあります。
これらの3つの違いは何ですか?
特に、機能、パフォーマンス、互換性の違いは何ですか?
WCFには、HTTPベースのバインディングにいくつかの異なるタイプがあります。
これらの3つの違いは何ですか?
特に、機能、パフォーマンス、互換性の違いは何ですか?
回答:
ここでリンゴとオレンジを比較しています。
webHttpBindingはRESTスタイルのバインディングであり、基本的にはURLにアクセスして、WebサービスからXMLまたはJSONのトラックロードを取得するだけです。
basicHttpBindingとwsHttpBindingは、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の違い