双方向通信が必要で、WCFを使用する場合は、デュプレックスチャネルが最適です。アプリケーションを正しく設計し、説明したすべての問題を正しく処理する必要があります。これらの問題がオーバーヘッドであり、事態をさらに悪化させると思われる場合は、常にネットワークプログラミングを直接使用するか(ソケット)、サーバーとクライアントで別々のサービスを公開することで双方向通信を処理できます(クライアントからの最初の呼び出しでサーバーにクライアントのアドレスを通知します) -このシナリオでは、と同じ通信の問題が発生しWsDualHttpBindingます。
WsDualHttpBindingそれ自体は特殊な種類の二重通信です。個人的には、誤用されることが多いので嫌いです。問題は、このバインディングが2つの別々の接続を使用することです。1つはクライアントからサーバーへ、もう1つはサーバーからクライアントへの接続です。これは、クライアントからサーバーへの接続のみが使用されるnet.tcpとの大きな違いです。明らかにWsDualHttpBinding、インターネット経由での使用(=クライアントマシンを制御できない)は、各クライアントがファイアウォール(コンピューター、ホームインターネットゲートウェイなど)を構成して一部のポートで接続できるようにする必要があるため、はるかに複雑になります。また、同じクライアントマシンで複数のアプリケーションインスタンスを実行する場合は、各インスタンスが独自のポートを使用する必要があります。