ASP中HttpContext.Current.Items的替代方案.. NET Web Api



是否存在非系统。Web/HttpContext替代HttpContext. current。项,每个请求的数据存储?

我想保存请求的信息,保存它们并从我的记录器(NLog)读取值。我找到了一个很好的地方来做到这一点是DefaultHttpControllerActivator/IHttpControllerActivator。

这样,日志消息看起来应该总是一样的,开发人员对所提供的格式或信息没有太大的影响。

编辑:经过更多的研究,我发现了这个:我们如何为async .net方法创建callcontext ?我希望使用具有不可变集合的逻辑调用上下文将按预期工作。

HttpRequestMessage.PropertiesIDictionary<string, Object>集合,用于存储任意的每个请求的数据。在控制器动作中,这很容易作为ApiController基本类的Request.Properties属性获得。

不确定您打算如何使用它进行日志记录,但您可能还想考虑编写一个日志记录DelegatingHandler

最新更新