是否有非 System.Web/HttpContext 替代 HttpContext.Current.Items,即按请求存储数据?
我想保存请求的信息,保存它们并从我的记录器 (NLog) 中读取值。我发现做这件事的好地方是 DefaultHttpControllerActivator/IHttpControllerActivator。
这样,日志消息应该始终看起来相同,并且开发人员不会对所提供的格式或信息产生太大影响。
编辑:经过更多研究,我发现了这个: How can we create a callcontext for async .net methods? 我希望将逻辑调用上下文与不可变集合一起使用会按预期工作。
最佳答案
HttpRequestMessage.Properties
是一个 IDictionary<string, Object>
用于存储任意每个请求数据的集合。在 Controller 操作中,这很容易作为 Request.Properties
获得。基地属性(property)ApiController
类。
不确定您打算如何将其用于日志记录,但您可能还想研究编写日志记录 DelegatingHandler
关于c# - ASP.NET Web Api 中 HttpContext.Current.Items 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31825682/