记录WCF消息大小

时间:2009-05-22 20:06:14

标签: c# wcf logging message

我正在使用WCF通过网络发送一些Linq对象。我想使用消息记录或跟踪来记录消息大小。我不想,或者有能力使用配置文件进行设置。我正在努力弄清楚如何以编程方式执行此操作。我不在乎这是否发生在客户的主机上。我控制了两个。

有没有人有这方面的经验?

3 个答案:

答案 0 :(得分:3)

Marc是对的,Message Inspectors会允许你这样做。创建一个类:Implements 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

此外,以下Link也可能会提供一些帮助。

祝你好运

答案 1 :(得分:0)

不编程,但也许:wireshark

或者,请查看message inspectors。但是,我没有关于大小记录的具体示例。

答案 2 :(得分:0)

您还可以使用Fiddler,如果您使用wsHttp或basicHttp绑定之一,它可以记录您的HTTP消息。 http://www.fiddler2.com/fiddler2/