WebApi 使用Session并且使用

使用背景:在ApiController 中使用Session

1. 打开项目的Global.asax文件,重新方法init。 否则在使用时

  在   HttpContext.Current.Session.Add("USERNAME",USERNAME); 

报错: 未将对象引用设置到对象的实例。

WebApi 使用Session并且使用

 public override void Init()
  {
            PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest;
            base.Init();
   }
   void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
   {
          HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
    }

WebApi 使用Session并且使用 

HttpContext.Current.Session.Timeout = 100;//获取和设置的过期时间,以分钟为单位

 HttpContext.Current.Session.Add("USERNAME",USERNAME);

// Web.config

<system.web>

    <sessionState mode = "InProc" timeout = "30" /> <!--设置过期时间-->

  </system.web>

 

参考:

https://blog.****.net/qq_38977099/article/details/100138664

https://www.cnblogs.com/zhouyukai/p/7502387.html