400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

WebAPI开启Session支持

    Web API中默认是没有开启Session支持的,开启Session支持,需要进行以下操作,以下操作分两种,都是在Global.asax文件中添加代码的。

创新互联公司服务项目包括沙坪坝网站建设、沙坪坝网站制作、沙坪坝网页制作以及沙坪坝网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,沙坪坝网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到沙坪坝省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

/// 
/// 开启WebAPI中的Session支持
/// 
public override void Init()
{
this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required);
base.Init();
}
/// 
/// 判断是否是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,却一直获取不到。


分享标题:WebAPI开启Session支持
分享链接:http://mzwzsj.com/article/iegjds.html

其他资讯

让你的专属顾问为你服务