首页 新闻 会员 周边

非常奇怪的问题,请大家帮下忙,asp.net页面回发时找不到Cookie,

0
[已关闭问题] 关闭于 2012-05-05 08:02
 
遇到一个奇怪的问题,做的asp.net多标签程序,打开页面时,Cookie正常,页面回发时,Cookie丢失了
同样的代码在另外两台电脑上没此现象
注:我Cookie的key用的是Guid
有谁知道是怎么回事吗
具体现象描述如下:
      1、程序启动后,进入程序操作,引起页面回发,一切正常,Cookie也正常没丢;
      2、注消退出程序,在程序登录界面上选择另一个数据库登录操作,初次加载页面Cookie正常,引起页面回发Cookie丢失,但关闭此子页面,重新打开正常,再次页面回发还是丢失,
 
     也就是说只要不注消退出,怎么弄都行没问题,只要注消退出后,再选另一个数据库进入就有问题,非要完全关闭浏览器再进就没问题
 
     这个现象在我电脑上出现,另两台电脑上无此现象,非常怪异,我重装系统这个现象还是存在,以前在我电脑上没有这个现象的
狼图腾TOP的主页 狼图腾TOP | 菜鸟二级 | 园豆:322
提问于:2012-04-25 09:58
< >
分享
所有回答(1)
0

注消退出中对cookie操作的代码是什么?

dudu | 园豆:31003 (高人七级) | 2012-04-25 10:27

 HttpContext.Current.Response.Cookies[strGuid].Expires = DateTime.Now.AddDays(-1);

 

直接运行程序,操作没任何问题,我这个项目是用户在登录时可以自动选择自己的独立数据库,Cookie的key用的是guid,也就是说每次用户登录时,就会有一个全新的Guid,我就拿这个全新的Guid作为Cookie的key ,这个现象是最近我重装过一次系统,后才出现的,以前在我的电脑上无此现象不管理IE8还是IE9,且只在我的电脑上有这个现象,其他电脑上没有这个现象

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2012-04-25 11:04

@野狼一头: 

用下面的代码试试:

HttpCookie cookie = Request.Cookies[strGuid];
if (cookie != null)
{
    cookie.Expires = DateTime.Now.AddDays(-1);
    Response.Cookies.Set(cookie);
}
支持(0) 反对(0) dudu | 园豆:31003 (高人七级) | 2012-04-25 11:13

@dudu: 

补充说明一下,cookie集合中其他的cookie没丢,就只有那个key为guid的丢了,再页面回发的时候丢了

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2012-04-25 11:34

@dudu: 

用了你的方法不行,

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2012-04-25 17:28

@野狼一头: 回发后检查一下Request.Cookies[strGuid]是否有值

支持(0) 反对(0) dudu | 园豆:31003 (高人七级) | 2012-04-25 17:35

@dudu: 

初次启动程序回发时有值,用户注消切换数据库后回发就没值

kechee.kmdns.net/t6.web

就是这个地址的

 

也就是说,用户登录时生成一个Guid,然后我把这个Guid放到了地址栏中,并用这个Guid作为Cookie的key来存放

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2012-04-25 18:51

@dudu: 

我用httpwatch跟过,在httpwatch里面看得到那个cookie

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2012-04-26 13:26

@dudu: 

后来找到问题原因了,在这个项目中我总共有四个cookie,其中一个是用生成的guid作的cookie,这个guid作的key,主要用来效验登录用的,所以我在注销时,只写了:

View Code
1 HttpCookie cookie = Request.Cookies[strGuid];
2 cookie.Expires = DateTime.Now.AddDay(-1);
3 Response.Cookies.Set(cookie);

上面这段,那么别外三个cookie没有清理,如果不是回发页面时,就不会发现问题,如果是回发页面那么出现问题的机率是100%,于是我在注消时,把另外三个固定key的cookie也一同注消了,问题就彻底解决了。

支持(0) 反对(0) 狼图腾TOP | 园豆:322 (菜鸟二级) | 2012-06-23 09:06

@野狼一头: 解决了就好

支持(0) 反对(0) dudu | 园豆:31003 (高人七级) | 2012-06-23 09:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册