c# - 记录 WCF 消息大小

标签 c# wcf logging message

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

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

最佳答案

Marc 说得对,Message Inspectors 将允许您这样做。创建一个类: 实现 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也可以提供一些帮助。

祝你好运

关于c# - 记录 WCF 消息大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/899741/

相关文章:

c# - 为什么要在存储库中包含 Repo.SaveChanges() 方法?

wcf - ApplyClientBehavior 没有被调用

ruby-on-rails - Rails 开发模式下的日志轮换?

ruby-on-rails - Rails 日志中的完整 URL

c# - 冲洗 System.Console.Read()

c# - Visual Studio 显示了很多错误,但只有一个实际错误

c# - try catch block 以显示错误消息

c# - 在共享主机中在 IIS/WCF 下触发线程/进程的最佳方法

.net - 为什么 WCF 方法的返回类型会从泛型集合更改为数组?

tomcat - 使用 Tomcat6 和 Servlet 登录时无法获取锁定