首先创建两个保存会话状态的类:SessionableControlHandler,SessionStateRouteHandler

代码如下

SessionableControlHandler

 1 using System.Web.Http.WebHost;
 2 using System.Web.Routing;
 3 using System.Web.SessionState;
 4
 5 namespace iAssistantAPI.Authentication
 6 {
 7     public class SessionableControlHandler : HttpControllerHandler, IRequiresSessionState
 8     {
 9         public SessionableControlHandler(RouteData routeData)
10             : base(routeData)
11         {
12         }
13     }
14 }

SessionStateRouteHandler

using System.Web;
using System.Web.Routing;namespace iAssistantAPI.Authentication
{public class SessionStateRouteHandler : IRouteHandler{IHttpHandler IRouteHandler.GetHttpHandler(RequestContext requestContext){return new SessionableControlHandler(requestContext.RouteData);}}
}

然后注册自己的 Route

打开RouteConfig,在RegisterRoutes 方法中的代码下,代码如下

注册Route

1 RouteTable.Routes.MapHttpRoute(
2                     name: "DefaultApi",
3                     routeTemplate: "api/{controller}/{action}/{id}",
4                     defaults: new
5                     {
6                         id = RouteParameter.Optional
7                     }
8                 ).RouteHandler = new SessionStateRouteHandler();

此时webapi就可以支持 session 了

转载于:https://www.cnblogs.com/renzhendewo/archive/2013/04/08/3008389.html

webapi支持session相关推荐

  1. python bottle session-使用beaker让bottle支持session

    bottle是一个小型web框架,很小只有一个文件,但功能确很强大,学起来也简单,简单和小巧的同时也有很多不足,某些功能支持还不是很完善,比如session.但是也有它自身的好处,我们可以自己或使用别 ...

  2. 我使用Asp.net MVC WebAPI支持OData协议进行分页操作的笔记(第一篇)

    OData协议.多么牛B的技术. 传统的分页写习惯了,最近项目中,用到了 Asp.net WebAPI 2.0来做数据交互接口.至于为什么要使用WebAPI,我想只要是对OData协议有了解的朋友.只 ...

  3. 支持异步同步的分布式CommandBus MSMQ实现 - 支持Session传递、多实例处理

    先上一张本文所描述的适用场景图 分布式场景,共3台server: 前端Server Order App Server Warehouse App Server 功能: 前端Server可以不停的发送C ...

  4. php session支持,SESSION支持

    # SESSION支持 [上一页](# "上一页")[下一页](# "下一页") 系统提供了Session管理和操作的完善支持,全部操作可以通过一个内置的ses ...

  5. 我使用Asp.net MVC WebAPI支持OData协议进行分页操作的笔记(第二篇)

    在阅读这篇文章的时候,我想你已经看完第一篇文章啦·也有可能跟我一样,现在正在使用它Asp.net WebAPI为我们干活儿.可能是服务分页查询接口,也可能是其它操作,遇到了一些小问题.有问题,那咱就来 ...

  6. C# session使用方法

    Global.asax.cs 里面添加 public override void Init(){//注册事件this.AuthenticateRequest += WebApiApplication_ ...

  7. WebAPI——cookie与session遇到的问题

    这两天要做一个用户登陆验证的接口,用MVC这种action和view结合的做的话比较好做,但是直接使用webapi做的过程中遇到了不少困难,这里和大家分享一下== 一.WebAPI中session与c ...

  8. asp.net MVC5为WebAPI添加命名空间的支持

    前言 默认情况下,微软提供的MVC框架模板中,WebAPI路由是不支持Namespace参数的.这导致一些比较大型的项目,无法把WebApi分离到单独的类库中. 本文将提供解决该问题的方案. 微软官方 ...

  9. WebApi系列(从.Net 到 .Net Core)【更新】

    一. 简介  1. 什么是WebApi? WebApi是一个很广泛的概念,在这里我们特指.Net平台下的Asp.Net WebApi框架,它是针对各种客户端(浏览器.APP等)来构建Http服务的一个 ...

最新文章

  1. 2018-3-23Markov 链(笔记一)定义
  2. Java 编程技巧之数据结构
  3. 【C++】 C++标准模板库(十二) 迭代器和STL
  4. k近邻算法原理c语言,实验二 K-近邻算法及应用
  5. ssl1202-滑雪【记忆化搜索法】
  6. php文件解锁,php文件锁怎么用
  7. 在ASP.NET 3.5中使用新的ListView控件(2)
  8. 超级大水题(还是自己过不了的水题)
  9. 多线程lambda数据捕获
  10. 重新制作Docker镜像
  11. mybatis 多数据源_SpringBoot+Mybatis配置多数据源及事务方案
  12. echarts5.0 动态柱状图 不用调接口 不用jQuery舒适应用
  13. IDEA导入jar包之后引用不了
  14. 如何使用hMailServer+云服务器搭建个人邮箱
  15. 7-20 约分最简分式c语言,7-24 约分最简分式
  16. 阿里高管的思考方式真正厉害在哪?内部员工7000字深度干货
  17. 如果细节决定成败,那么什么决定细节
  18. Mongodb 监控安装配置
  19. vscode之vue文件格式化代码无效怎么办
  20. 如何让人机对话更自然?

热门文章

  1. Lanecat网猫的延伸使用
  2. 2019.03.13 ZJOI2019模拟赛 解题报告
  3. Ubuntu侧边任务栏自动隐藏
  4. 《大型网站技术架构:核心原理及案例分析》阅读笔记01
  5. FineUI小技巧(5)向子窗口传值,向父窗口传值
  6. ubuntu 安装 Terminator
  7. GridView中如何实现checkbox 默认选中
  8. 利用Attribute特性简化多查询条件拼接sql语句的麻烦
  9. android核心机制之Zygote启动流程
  10. 算法------判定字符是否唯一