C# 不能获取cookie解决方案
最经在搞一个使用cookie来登录的系统,在调试环境是没有任何问题,发布到服务器上就是不能登录,使用 Firefox可以的,只要使用IE内核的就是不行,
解决过程:
清除浏览器的cookie,不行。
在源码上显示是否有写入cookie,和能不能取到cookie,结果发现是不能取,起初怀疑是IE8的问题,Firefox可以的,在网上查了好多相关的内容都无非是没有加超期,没有加domain,这些都是没有问题
最后仔细的研究了一下代码
HttpCookie objCookie = new HttpCookie("ValidateCode");
objCookie.Value = str_ValidateCode;
objCookie.Path = "/";
objCookie.Expires = DateTime.Now.Add(new TimeSpan(0, 0, 1, 0)); //DateTime.Now.AddMinutes(1);
主要到红色的字体没有,问题就在这,这里是取的服务器时间,如果客户端跟服务器时间相差1分钟就问题了,你还没有登录就已经过期了,检查一下服务器时间结果发现相差4分钟,设置一下服务器时间,就可以登录。
这样不能解决根本问题,需要把这个过期时间取客户端才可以。
……