为WCF服务调用创建包装器的最佳做法是什么?我认为这是必要的 为了监控同一个地方的所有电话,我正在考虑使用这种代码,这是正确的想法吗?
RetType t = ServiceExecutionContext<IServiceChanel>.Execute(s=>s.GetServiceMethod());
您在企业应用程序中使用了什么样的包装器?
非常感谢!
答案 0 :(得分:6)
WCF有一个模型,允许您进入服务调用链。我会使用它,而不是尝试包装每个服务调用,如果你想要做的只是一些日志记录(如果你在配置文件中打开诊断程序,WCF已经非常擅长)和你服务周围的常见事情调用
Here is a good MSDN article关于如何为WCF服务创建自定义行为。
答案 1 :(得分:1)
如果需要,请编写自己的Message Inspector。
WCF内置message logging。默认情况下,您可以使用System.Diagnostics.XmlWriterTraceListener轻松地记录到文件,但是如果您需要在其他地方(例如,数据库)编写日志,则可以编写自己的trace listener。
我会在消息检查器上推荐这种方法...消息检查员太容易错误地编写并且在不知道你在做什么的情况下会损害性能。