gpt4 book ai didi

c# - 通过自定义跟踪监听器一次完成 WCF 请求-响应日志记录

转载 作者:行者123 更新时间:2023-11-30 12:26:28 26 4
gpt4 key购买 nike

在我的 WCF 客户端应用程序中;

  • 我正在尝试将请求和响应消息记录到单个数据库中记录。因此,我需要匹配请求和响应消息。
  • 我想使用 Trace Listener,因为它是开箱即用的功能,并且想通过 log4net 登录,但是我在自定义监听器中只能收到消息字符串。
  • 我对 WCF 服务的调用是异步和并行的。

有什么方法可以在 Trace Listener 级别匹配异步请求和响应?

最佳答案

最终使用了 IClientMessageInspector,因为我找不到在 Trace Listener 级别执行此操作的方法。

使用 header 中的 ID 将请求与响应相关联。

public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
var key = request.Headers.MessageId.ToString();

//Do stuff

return null;
}
public void AfterReceiveReply(ref Message reply, object correlationState)
{
var key = reply.Headers.RelatesTo.ToString();

//Do stuff
}

关于c# - 通过自定义跟踪监听器一次完成 WCF 请求-响应日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28590223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com