MVC4 WebApi开发中如果想支持Session请做好如下几个方面的问题

简介: 1、在WebApiConfig中建立建立HttpControllerHandler和HttpControllerRouteHandler 并覆写它 public class SessionRouteHandler : HttpControllerHandler,IRequiresSessio...

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);
        }

 

学习交流群:364976091
相关文章
|
5月前
|
JSON 前端开发 Java
Springboot mvc开发之Rest风格及RESTful简化开发案例
Springboot mvc开发之Rest风格及RESTful简化开发案例
63 2
|
6月前
|
存储 JSON 前端开发
利用Spring MVC开发程序2
利用Spring MVC开发程序
47 1
|
6月前
|
设计模式 存储 前端开发
Java的mvc设计模式在web开发中应用
Java的mvc设计模式在web开发中应用
|
6月前
|
设计模式 JSON 前端开发
利用Spring MVC开发程序1
利用Spring MVC开发程序
55 0
|
6月前
|
存储 设计模式 前端开发
怎么根据MVC开发规则进行开发
MVC开发规则,也称为MVC设计模式,是软件工程中一种常用的架构模式,用于将应用程序划分为三个主要组成部分:模型(Model)、视图(View)和控制器(Controller)。这种架构模式有助于将应用程序的逻辑、数据和用户界面分离,使代码更加清晰、可维护,并且提高了应用程序的灵活性。
54 2
|
6月前
|
存储 前端开发 Java
理解MVC架构模式:Java Web开发的设计理念
【4月更文挑战第3天】MVC架构模式在Web开发中广泛应用于构建可维护和扩展的应用。它将应用程序分为模型、视图和控制器三部分,增强代码模块化和重用。模型处理数据逻辑,视图负责用户界面,而控制器协调二者。MVC优点包括高内聚、低耦合、易于测试、扩展和维护。在Java Web开发中,可通过Servlet、JSP或Spring框架实现MVC。理解并运用MVC是Java Web开发者的关键技能。
102 0
理解MVC架构模式:Java Web开发的设计理念
|
6月前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
6月前
|
设计模式 存储 前端开发
Java Web开发中MVC设计模式的实现与解析
Java Web开发中MVC设计模式的实现与解析
169 0
|
6月前
|
JSON 前端开发 Java
Spring MVC响应结合RESTful风格开发,打造具有强大功能和良好体验的Web应用!
Spring MVC响应结合RESTful风格开发,打造具有强大功能和良好体验的Web应用!
|
6月前
|
JSON 前端开发 Java
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!