博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC4 WebApi开发中如果想支持Session请做好如下几个方面的问题
阅读量:5366 次
发布时间:2019-06-15

本文共 1396 字,大约阅读时间需要 4 分钟。

1、在WebApiConfig中建立建立HttpControllerHandler和HttpControllerRouteHandler 并覆写它

public class SessionRouteHandler : HttpControllerHandler,IRequiresSessionState        {            public SessionRouteHandler(RouteData routeData)                : base(routeData)            {            }        }        public class SessionControllerRouteHandler : HttpControllerRouteHandler        {            protected override IHttpHandler GetHttpHandler(RequestContext requestContext)            {                return new SessionRouteHandler(requestContext.RouteData);            }        }

Routes.MapHttpRoute要修改为下面的格式:

public static void Register(HttpConfiguration config)        {            RouteTable.Routes.MapHttpRoute(                name: "DefaultApi",                routeTemplate: "api/{controller}/{action}/{id}",                defaults: new { id = RouteParameter.Optional }            ).RouteHandler = new SessionControllerRouteHandler();        }

2、在MVC的WebApi中默认是没有开启Session会话支持的。需要在Global中重写Init方法来指定会话需要支持的类型

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

 

转载于:https://www.cnblogs.com/firstcsharp/p/4482835.html

你可能感兴趣的文章
SSIS的部署和配置
查看>>
计算机内存管理介绍
查看>>
POJ 2761 Feed the dogs 求区间第k大 划分树
查看>>
mysql中间件研究(Atlas,cobar,TDDL)[转载]
查看>>
ASP.NET应用程序与页面生命周期
查看>>
Linux--多网卡的7种Bond模式
查看>>
Oracle命令(一):Oracle登录命令
查看>>
业务建模 之 业务用例图
查看>>
EasyUI基础入门之Pagination(分页)
查看>>
一次PHP代码上线遇到的问题
查看>>
显示密码
查看>>
实现one hot encode独热编码的两种方法
查看>>
ubuntu中文英文环境切换
查看>>
[sql]mysql启停脚本
查看>>
[elk]Mutate filter plugin增删改查字段
查看>>
Java内功心法,行为型设计模式
查看>>
向github项目push代码后,Jenkins实现其自动构建
查看>>
jquery中的ajax方法参数的用法和他的含义
查看>>
BZOJ 1226: [SDOI2009]学校食堂Dining
查看>>
数组去重的几种方法
查看>>