我无法从 web api 2 中获取 session 数据。我已验证 cookie 正在 fiddler 中发送。
我知道 web api 2 的最佳实践是无状态的,但由于项目的要求,现在必须是全状态的。
我试过这个链接。 WebAPI 2 attribute routing enable session state
var session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current)
通过上述解决方案,我在该函数上得到了一个空异常。
我还尝试通过修改路由中的请求处理程序来复制在旧 Web API 中执行此操作的方式,但这在 Web API 2 中不可用。
我目前在 mvc5 中设置了一些 session 变量。这有效并且 session 保持不变,但任何时候我在 web api 2 中尝试使用 session 时,下面的内容都是空的。
HttpContext.Current.Session
最佳答案
添加
protected void Application_PostAuthorizeRequest()
{
System.Web.HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
}
到 global.asax
关于c# - Web API 2 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21999409/