c# - WCF 写入 IIS 日志而不阻止请求
问题描述
我有一个要求,我想根据当前请求记录 WCF 方法对 IIS 日志的响应。这目前已实现,但问题是我必须在记录响应对象之前对其进行序列化,因为 AppendToLog 方法只需要字符串输入参数,并且这种序列化需要大部分时间。这大大延迟了整体响应时间。
我想了解在将响应返回给客户端后是否有任何方法可以进行此日志记录?我试图在 return 语句之前异步执行此操作,但这不起作用,因为 Current Context 变为空。
请让我知道我该如何解决这个问题?
解决方案
一种选择是将 LogWriting 委托给应用程序中的不同线程。通过这种方式,您可以将对象推送到 Logging Queue 并继续调用。
处理日志写入的线程可以按照自己的节奏附加到日志中。
推荐阅读
- django - 如何修复没有反向匹配“密码_reset_done”?
- kubernetes - 升级 kubernetes 集群(不使用 kubeadm)的“手动”步骤是什么?
- flutter - 如何修复“在 null 上调用了 getter 'length'
- javascript - 使用 webpack 或 node.js 编译器包装所有函数和方法
- excel - “ONLY FILTER IF”功能?
- python - 对于 Axes3D.scatter(),如何将使用 3 个向量描述的点更改为 python 中 MatPlotLib 的 2 个数字?
- c++ - 优化的clang处理溢出
- html - 除非我推迟 JavaScript 文件链接,否则 Vue 小胡子模板不起作用
- php - WooCommerce:如何检查特定产品是否存在元密钥
- python - 当值高于列中位数(1,否则为0)时,如何将数据转换为二进制?