如何解决WCF - 获取原始请求/回复和操作名称
我正在尝试从客户端使用 IClientMessageInspector
/ IParameterInspector
实现 SOAP 请求/回复的日志记录。问题是我想在单个日志条目中记录消息的原始内容和操作名称。我了解我可以访问来自 IClientMessageInspector
的原始消息和来自 IParameterInspector
的操作名称。有没有办法将这两条信息结合起来?如何将数据从 IParameterInspector
传递到 IClientMessageInspector
,反之亦然?
请注意,在某些情况下,message.Headers.Action
中的 IClientMessageInspector.BeforeSendRequest(ref Message request,IClientChannel channel)
可能是空字符串。所以这不是一个选项。
也许是否可以在我已经拥有操作名称的 IParameterInspector
中实际获取原始消息。
有什么想法吗?
解决方法
IClientMessageInspector 应用于整个服务而不是方法。无论调用 WCF 服务中的什么方法,IClientMessageInspector 都会捕获此消息。 IParameterInspector 应用于一个方法,IParameterInspector 只会在调用特定方法时捕获消息。
我的建议是分别实现IClientMessageInspector和IParameterInspector,然后分别写入日志。
这个link里面有一个类似的问题,可以参考一下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。