如何在.NET Web API项目中存储全局每个请求数据

Les*_*nks 8 asp.net-mvc webforms ihttpmodule asp.net-web-api

我正在为我的应用程序编写一个web api,目前使用ASP.NET Web Forms编写.我有一个模块,它在请求开始时获取一些数据并将其存储在HttpContext.Current.Items中,以便稍后在页面处理期间可供所有代码使用.

我正在尝试编写我的web api,它需要做同样的事情.在web api控制器处理期间存储"每个请求"全局数据的正确方法是什么(我怀疑它对于常规控制器也是如此).

此外,如果有办法这样做,有没有办法在实例化控制器之前运行的IHttpModule中设置此数据.

任何帮助表示赞赏!

Sim*_*n C 5

HttpRequestMessage.Properties您可以按照此 StackOverflow 问题使用字典。

还有其他选项,例如 HttpContext 或 Session,但它们不能在自托管设置中使用,只能在 WebHosting 模式下使用。