私はネットワーキングの世界に慣れていないため、舞台裏で物事がどのように機能するかについて少し混乱しています. これは、サービスにどのバインディングを選択するかを決定する上で重要です。私は、ネットワーク上の通信は主に TCP/IP プロトコルを介して行われるという印象を受けています。私は TCP/IP プロトコルを調べましたが、私の理解によれば、HTTP はアプリケーション層プロトコルです。舞台裏では、アプリケーション層は、TCP または UDP プロトコルを使用してネットワーク経由で情報を渡すトランスポート層と通信します。この場合、HTTP プロトコルをどのように使用しますか? パズルに欠けているものがあると確信していますが、それが何であるかを見つけることができませんか?
2 に答える
まず第一に、W3C はなぜ新しいプロトコルなのかと答えました。1991 年にさかのぼります。彼らは基本的にメール、ファイル転送、ニュース、または検索ではないと言いましたが。
ただし、あなたの質問は、wsHttpBinding を使用する理由であると感じています。とにかく、その下にはすべて TCP があるからです。Microsoft の netTCPBinding は、Microsoft 独自のプロトコルです。これは、C# がパイプの両端にある場合に使用することを意図しており、さらに、単一の開発者、チーム、または企業コングロマリットなど、単一のエンティティによって両端の開発が管理される場合を主な対象としています。データ型を正しく取得するのは難しい場合があるためです。NetTcpBinding クラスの解説では、次のことがわかります。
このバインディングは、イントラネット経由で通信するための適切な Windows Communication Foundation (WCF) システム提供の選択肢です。
NetTcpBinding の既定の構成は、WSHttpBinding によって提供される構成よりも高速ですが、WCF 間通信のみを目的としています。
対照的に、wsHttpBinding は相互運用性を考慮して設計されています。少なくともある程度は、既存の Web サービス標準に準拠しています。WSHttpBinding Classに関するコメントから:
WSHttpBinding は BasicHttpBinding に似ていますが、より多くの Web サービス機能を提供します。これは HTTP トランスポートを使用し、BasicHttpBinding と同様にメッセージ セキュリティを提供しますが、トランザクション、信頼性の高いメッセージング、および WS-Addressing も提供します。これらはデフォルトで有効になっているか、単一のコントロール設定で利用できます。
リストされている追加機能のほとんどは、最新のSOAPスタックの一部です。
最後に、代わりに独自のプロトコルを考案する人のために、この記事ではなぜ [you should use] HTTP? に回答しますか? 代わりは。