请选择 进入手机版 | 继续访问电脑版

程序人生

 找回密码
 注册

QQ登录

只需一步,快速开始

程序人生 门户 .NET开发 ASP.NET 查看内容

asp.net webapi session始终为null的解决办法

2016-12-14 18:05| 发布者: sean| 查看: 903| 评论: 0

摘要: 项目基本完成,需要为项目写个api借外部接口调用,这里我采用了webapi的方案,在使用webapi的时候需要存储用户信息,考虑用session来解决,但httpcontext中的session一直拿不到值。在使用asp.net编写webservice时, ...
项目基本完成,需要为项目写个api借外部接口调用,这里我采用了webapi的方案,在使用webapi的时候需要存储用户信息,考虑用session来解决,但httpcontext中的session一直拿不到值。

在使用asp.net编写webservice时,默认情况下是不支持session的,但我们可以把WebMethod的EnableSession选项设为true来显式的打开它,如下:  
[WebMethod(EnableSession = true)]
public string Login(string name)
{
    Context.Session["name"] = name;
    return name;
}

而在webapi执行时出报异常,这时要在Global.asax里添加:开启Session功能
 public class WebApiApplication : System.Web.HttpApplication
    {
        public override void Init()
        {
            this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
            base.Init();
        }

另外要注意如果是类库要使用session的话就要使用IRequiresSessionState

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


关于程序人生网|小黑屋|手机版|Archiver|

程序人生 | QQ

粤公网安备 44040202000007号

( 粤ICP备13038131号-5 )

返回顶部