305

WCF には、いくつかの異なる種類の HTTP ベースのバインドがあります。

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

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

4

1 に答える 1

529

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

  • webHttpBindingは REST スタイルのバインディングで、基本的には URL にアクセスするだけで、Web サービスから大量の XML または JSON が返されます。

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

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

次に、basicHttpBinding と wsHttpBinding の違いは次のとおりです。

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

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

この 2 つの詳細な比較 (表とコード例を含む) については、次の codeproject 記事を参照してください: BasicHttpBinding と WsHttpBinding の違い

于 2010-04-16T05:49:51.943 に答える