ASP中HttpContext.Current.Items的替代方案.. NET Web Api
本文关键字:方案 NET Web Api HttpContext Current Items ASP | 更新日期: 2023-09-27 18:06:21
是否存在非系统。Web/HttpContext替代HttpContext. current。项,每个请求的数据存储?
我想保存请求的信息,保存它们并从我的记录器(NLog)读取值。我找到了一个很好的地方来做到这一点是DefaultHttpControllerActivator/IHttpControllerActivator。
这样,日志消息看起来应该总是一样的,开发人员对所提供的格式或信息没有太大的影响。
编辑:经过更多的研究,我发现了这个:我们如何为async .net方法创建callcontext ?我希望使用具有不可变集合的逻辑调用上下文将按预期工作。
HttpRequestMessage.Properties
是IDictionary<string, Object>
集合,用于存储任意的每个请求的数据。在控制器动作中,这很容易作为ApiController
基本类的Request.Properties
属性获得。
不确定您打算如何使用它进行日志记录,但您可能还想考虑编写一个日志记录DelegatingHandler