WebAPI开启Session支持-创新互联
Web API中默认是没有开启Session支持的,开启Session支持,需要进行以下操作,以下操作分两种,都是在Global.asax文件中添加代码的。
创新互联主打移动网站、成都网站建设、网站制作、网站改版、网络推广、网站维护、主机域名、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。这时要在Global.asax里添加如下代码,开启Session功能(重写Init方法)
////// 开启WebAPI中的Session支持 /// public override void Init() { this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required); base.Init(); }
添加以下代码,判断如果是WebAPI的话,则打开Session功能
////// 判断是否是Web API请求 /// ///private bool isWebAPiRequest() { //根据应用程序根的虚拟路径来判断是否是API程序 return HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.ToLower().StartsWith(WebApiExecutePath); } /// /// 如果是API,则打开Session /// protected void Application_PostAuthorizeRequest() { if (isWebAPiRequest()) { HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required); } }
同时在WebAPI中测试Session的写入是否正确时,要注意Session的写入和读取要用同样的浏览器或工具,我在测试的过程中,就犯了个低级错误,Session有写入,但是一直获取不到,就因为我是通过浏览器进行登录测试写Session的,却在PostMan中去获取Session,却一直获取不到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻名称:WebAPI开启Session支持-创新互联
文章转载:http://ybzwz.com/article/djehse.html