私は通常、サービスで HTTP バインディングを使用します。
net.tcp Binding の方が高速に動作することを読みましたが、いつ使用すればよいかよくわかりません。
ベストプラクティスは何ですか?欠点はありますか?
ありがとう
NetTcpBindingの MSDN ページはそれを最もよく言っています
NetTcpBinding の既定の構成は、WSHttpBinding によって提供される構成よりも高速ですが、WCF 間通信のみを目的としています。
したがって、NetTcpBinding は、.NET WCF クライアントと .NET WCF サーバーがある場合に使用するのに適していますが、.NET WCF で記述されていないクライアントをサポートする必要がある場合 (たとえば、パブリック サービスを公開していて、クライアントがどの言語で記述されるかを知っている場合)、代わりに HttpBinding を使用する必要があります。
このページには、バインディングの各タイプと、それらをいつ使用する必要があるかについて簡単にまとめられています。
- BasicHttpBinding - ASP.NET Web サービス (ASMX) ベースのサービスなど、WS-Basic Profile 準拠の Web サービスとの通信に適したバインディング。このバインディングは、トランスポートとして HTTP を使用し、デフォルトのメッセージ エンコーディングとしてテキスト/XML を使用します。
- WSHttpBinding - 非二重サービス コントラクトに適した、安全で相互運用可能なバインディング。
- WS2007HttpBinding - Security、ReliableSession、および TransactionFlow バインディング要素の正しいバージョンをサポートする、安全で相互運用可能なバインディング。
- WSDualHttpBinding - 二重のサービス コントラクトまたは SOAP 仲介者を介した通信に適した、安全で相互運用可能なバインディング。
- WSFederationHttpBinding - WS-Federation プロトコルをサポートする安全で相互運用可能なバインディングで、フェデレーション内の組織がユーザーを効率的に認証および承認できるようにします。
- WS2007FederationHttpBinding - WS2007HttpBinding から派生し、フェデレーション セキュリティをサポートする、安全で相互運用可能なバインディング。
- NetTcpBinding - WCF アプリケーション間のマシン間の通信に適した、安全で最適化されたバインディング。
- NetNamedPipeBinding - WCF アプリケーション間のマシン上の通信に適した、安全で信頼性の高い、最適化されたバインディング。
- NetMsmqBinding - WCF アプリケーション間のマシン間の通信に適したキュー バインディング。
- NetPeerTcpBinding - 安全なマルチマシン通信を可能にするバインディング。
- WebHttpBinding - SOAP メッセージではなく HTTP 要求を介して公開される WCF Web サービスのエンドポイントを構成するために使用されるバインディング。
- MsmqIntegrationBinding - WCF アプリケーションと既存のメッセージ キュー (MSMQ とも呼ばれる) アプリケーション間のマシン間通信に適したバインディング。