session需要cookie的支持,看一下设置完后客户端有没有名称为ASP.NET_SessionId的cookie,如果是跨域请求的话,cookie是不被传递的,需要先cors实现跨域
z 怎么看cookie:如果是谷歌浏览器的话,地址栏最前面有个带圆圈的小图标,点那个就可以看到,其他浏览器的话应该类似吧
@balahoho: 我先去试试
你的答案是对的
默认 mvc webapi 不开启 session 会话支持
http://www.cnblogs.com/wangqiideal/p/5356545.html
这个我已经配置了
session有时间限制的,你是不是没有设置session时间啊
设置了呀
贴代码看一看
1 存值: HttpContext.Current.Session[userName] = Token; 2 取值: var token = System.Web.HttpContext.Current.Session[userName];
@Crazydragcool:
你调试程序的监控一下你的代码 ,存值的这段代码值有没有存入到session里面。
取值的时候,session里面是不是存到了值。
@琴声: 取的时候是null,存的时候有值
@Crazydragcool:
http://blog.csdn.net/zgjsczwj/article/details/7906422。
看看这边文章,是否对你有帮助。
webapi 有特殊性,session 无法保存,我上次遇到个问题。mvc中不管是控制器里面 还是webapi里面 session都没法存。后来就怒了。换成了 System.Web.HttpContext.Current.Application["LoadExcel"] 后来暂时解决需求。你的session问题解决后给我回复下,看看咋解决的。
我肯定会解决
因为我这边是跨域调用,需要先Cors跨域,然后解决了,希望对你有帮助
浏览器看看发送请求时有没有携带session的相关cookie
怎么看?
你的登录接口也是同一个webapi么?
是的
@Crazydragcool: 同一个webapi居然会跨域,哈哈~
@幻天芒: 我存取Session都在一个WebApi,WebApi里面只写接口,网页当然不在一个WebApi,网页是html,
随便在哪里,估计我描述有问题
@Crazydragcool: 了解了。
@幻天芒: 本人为描述不清为您道歉,不要怪我,嘿嘿
@Crazydragcool: 额,不用哈。目标是解决问题,搞定就好~
@幻天芒: 嘿嘿
楼主,我有点问题可以咨询你一下吗