【发布时间】:2011-07-29 06:00:54
【问题描述】:
我想将我的 WCF 服务项目中的每个请求 xml 消息记录到数据库中。请建议我这是最好和首选的方法。
1) 使用 idispatchmessageinspector 接口
或
2) 编写自定义 SQL 数据库跟踪侦听器?
【问题讨论】:
标签: wcf
我想将我的 WCF 服务项目中的每个请求 xml 消息记录到数据库中。请建议我这是最好和首选的方法。
1) 使用 idispatchmessageinspector 接口
或
2) 编写自定义 SQL 数据库跟踪侦听器?
【问题讨论】:
标签: wcf
【讨论】:
最佳方法通常取决于各种因素,但在您的情况下,使用消息检查器似乎是一种首选方法,因为这是构建它的目的,即捕获 WCF 消息并对它们做任何您想做的事情。
SQL 跟踪是跟踪 SQL 消息(SQL 服务器和 SQL 客户端应用程序之间的通信)而不是 WCF 消息。
【讨论】:
我认为使用idispatchmessageinspector 接口并使用ThreadPool.QueueUserWorkItem() 读取请求并在AfterReceiveRequest 事件中登录数据库会比使用Tracing 更好。我觉得跟踪可能有一些开销,因为它是出于某些诊断目的,并且不想在 prod 中永久启用跟踪。
使用idispatchmessageinspector 和ThreadPool.QueueUserWorkItem() 将请求消息记录到数据库有什么问题吗?
谢谢!
巴拉
【讨论】: