你的位置:首页 > ASP.net教程

[ASP.net教程]WebApi设置SessionState为Required


 public override void Init() {      //在注册管道事件中  require session state      //只能在引发“HttpApplication.AcquireRequestState”之前调用“HttpContext.SetSessionStateBehavior”。      this.BeginRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);      base.Init(); }

  代码如上。是在global中的一个重写HttpApplication方法,就这么简单。

原理就是在管道第九个事件AcquireRequestState之前,require session state.因为第九个事件就准备开始获取session.

如果你在第九个事件或者第九个事件之后才注册,那么一定会报如下错误:只能在引发“HttpApplication.AcquireRequestState”之前调用“HttpContext.SetSessionStateBehavior”。

 

 

关于请求管道,推荐一篇园友的文章:Asp.Net请求处理之管道