WCF中操作参数的通用日志记录

我有一个WCF服务(快乐)我的所有消息都从抽象类MessageBaseinheritance并实现以下接口。

public interface IMessageBase where T : class { String Serialize(T data); T Deserialize(string text); } 

每当我的一个操作合同被这样的消息命中时,我想记录这条消息。 一旦请求了一个方法并且其中一个入站参数可以分配给IMessageBase,那么我想在不用实际方法捏造的情况下执行日志记录。 我怎么做到这一点? 我想我需要在我的IDispatchMessageInspector中这样做,但是怎么做?

查看一些好的资源:

  • 编写WCF消息检查器
  • 创建WCF Dispatch消息检查器
  • IDDNatchMessageInspector上的MSDN文档

如果这是用于进程外审计或调试,您只需在.config中添加跟踪或消息日志即可。 尝试wcf配置编辑器,它很简单,并写出您可以使用提供的工具查看或根据需要解析的xml文件。

如果您正在寻找在请求时处理的实时结果,请参阅有关消息检查器的其他答案。