Web Api 2会话

我无法在web api 2中获取会话数据。我已经validation了cookie是在fiddler中发送的。

我知道web api 2最佳实践是无状态,但由于对项目的要求,现在必须满足状态。

我试过这个链接。 WebAPI 2属性路由启用会话状态

var session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current) 

通过上面的解决方案,我在该函数上获得了一个nullexception。

我还尝试通过修改路由中的请求处理程序,以旧方式api中的方式复制这种方式,但这在web api 2中不可用。

我目前在mvc5中设置了一些会话变量。 这工作和会话保持不变,但无论何时我在web api 2中尝试使用会话,下面都是null。

 HttpContext.Current.Session 

 protected void Application_PostAuthorizeRequest() { System.Web.HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required); } 

到global.asax

如果PostAuthorizeRequest不起作用,请尝试BeginRequest。