首页 > 解决方案 > WCF 写入 IIS 日志而不阻止请求

问题描述

我有一个要求,我想根据当前请求记录 WCF 方法对 IIS 日志的响应。这目前已实现,但问题是我必须在记录响应对象之前对其进行序列化,因为 AppendToLog 方法只需要字符串输入参数,并且这种序列化需要大部分时间。这大大延迟了整体响应时间。

我想了解在将响应返回给客户端后是否有任何方法可以进行此日志记录?我试图在 return 语句之前异步执行此操作,但这不起作用,因为 Current Context 变为空。

请让我知道我该如何解决这个问题?

标签: c#asp.net.netwcfiis

解决方案


一种选择是将 LogWriting 委托给应用程序中的不同线程。通过这种方式,您可以将对象推送到 Logging Queue 并继续调用。

处理日志写入的线程可以按照自己的节奏附加到日志中。


推荐阅读