私はプロトタイプのWCF対応分散アプリを作成しています。これは、既存の「通信するためにtcpを介してxmlを送信する」アプリをアップグレードする際に発生する問題を見つけるためです。私はコールバックコントラクトを使用してクライアントをサーバー(ServiceHostのシングルトン)に登録していますが、これまでのところ、クライアントとサーバー間のすべての通信が機能しています。複数のクライアントをサーバーに接続し、すべてのクライアントが受信するサーバーからブロードキャストを送信できます。特定のクライアントをブロックできますが、他のクライアントは引き続き呼び出しを受信します。これはいい。
パフォーマンスの学習と評価を続けるために、サーバーが各メッセージを送信する時刻と、クライアントが同じメッセージを受信する時刻をクライアントに記録してもらいたいと思います。これについてはどうすればよいですか?
サーバーからの送信とクライアントへの受信に追加できるSOAP拡張機能に似たものはありますか?または、サーバーがクライアントで呼び出すすべてのメソッドに「timeSent」パラメーターを追加し、クライアントで受信した時間を記録する必要がありますか(うん!)?これを達成するためのより良い方法はありますか?
wsDualHttpBindingではなくnet.tcpを使用しています(これも機能しますが、パフォーマンスは低下します)。