WCFを使用して、いくつかのLinqオブジェクトをネットワーク経由で送信しています。メッセージロギングまたはトレースを使用してメッセージサイズをログに記録したい。ただし、これを設定するために構成ファイルを使用する必要はありません。私はこれをプログラムで行う方法を理解するのに苦労しています。これがクライアントのホストで発生するかどうかは関係ありません。私は両方を制御します。
誰かがこれをした経験がありますか?
マークの権利、メッセージインスペクターはあなたがこれを行うことを可能にします。次のようなクラスを作成します。IDispatchMessageInspectorを実装します。以下のメソッドは、リクエストメッセージを操作するためのコードを実装できる場所で利用可能になります。
Public Function AfterReceiveRequest(ByRef request As System.ServiceModel.Channels.Message, ByVal channel As System.ServiceModel.IClientChannel, ByVal instanceContext As System.ServiceModel.InstanceContext) As Object Implements System.ServiceModel.Dispatcher.IDispatchMessageInspector.AfterReceiveRequest
'Output the request message to immediate window
System.Diagnostics.Debug.WriteLine("*** SERVER - RECEIVED REQUEST ***")
System.Diagnostics.Debug.WriteLine(request.ToString())
Return Nothing
End Function
また、次のリンクも役立つ場合があります。
幸運を
また、wsHttpまたはbasicHttpバインディングのいずれかを使用している場合は、HTTPメッセージをログに記録できるFiddlerを使用することもできます。http://www.fiddler2.com/fiddler2/
プログラミングではありませんが、おそらく:wireshark?
または、メッセージインスペクターを調べます。ただし、サイズロギングの具体的な例はありません。