很奇怪的问题,等待高手来解决。关于IIS,关于SESSIONID,关于验证码

我是老姚 2012-09-19 09:26:47
现在遇到一个很奇怪的问题,验证码有时候会始终无法通过。不是出现在固定的浏览器,也不是出现在固定的计算机,不知道什么时候会出现。
经过跟踪之后发现出现问题的时候浏览器每次请求都会得到一个新的SESSIONID,看似好像是sessionid无法保存,这种现象还没有发现有什么规律。
高手们有没有遇到过这种情况
===============================================
服务器环境是win2003+sqlserver+IIS6+.NET4.0
...全文
373 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
smartcoach 2013-03-15
  • 打赏
  • 举报
回复
引用 8 楼 net_lover 的回复:
Session创建后一直在,? 一直在为什么还会丢失?你这不是矛盾的吗?
为什么?查应用程序池中Web园的数目是否是1,这里必须是1 。。。为什么是1,就因为您的这句话,我session丢失的问题解决了!!求解原因是什么啊?
nihao955 2012-09-19
  • 打赏
  • 举报
回复
如果调用了Session.Abandon,每次都是一个新的Session
孟子E章 2012-09-19
  • 打赏
  • 举报
回复
每一次验证码的验证请求返回的SESSION_ID都不一样

那就是丢失了

你可以在Global的Session_Start里面,随便写一个
Session["x"] = "x";

试试

你试了吗》

SOGOU浏览器的设置正确吗?如启用Cookie
你也可以重置浏览器设置
种草德鲁伊 2012-09-19
  • 打赏
  • 举报
回复
验证码不需要用session存储,加密后存放到表单就行
我是老姚 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
Session创建后一直在,?
一直在为什么还会丢失?你这不是矛盾的吗?
[/Quote]
我并没有说是session丢失,大家看到问题后首先想到的是session丢失.
但我认为并不是 session丢失的问题,这个问题并不是所有在线用户都会出现。
刚才在我自己的电脑上也出现了,IE浏览器没事,SOGOU浏览器却有问题,页面都能正常显示,但是验证码始终无法验证通过,抓包之后看到页面的SESSION_ID和验证码的SESSION_ID不同。每一次验证码的验证请求返回的SESSION_ID都不一样。
孟子E章 2012-09-19
  • 打赏
  • 举报
回复
Session创建后一直在,?
一直在为什么还会丢失?你这不是矛盾的吗?
我是老姚 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
你可以在Global的Session_Start里面,随便写一个
Session["x"] = "x";

试试

另外,检查ie的临时文件夹磁盘空间是否足够
[/Quote]
空间足够,还有几十个G呢。
我是老姚 2012-09-19
  • 打赏
  • 举报
回复
超时时间默认都是20分钟。
我有监测SESSIONStart和SessionEnd。
通过监测发现一个IP每刷一次页面都会进一次SessionStart,Session创建后一直在,直到20分钟后才会进SessionEnd
孟子E章 2012-09-19
  • 打赏
  • 举报
回复
Session的超时时间设置是否太小
孟子E章 2012-09-19
  • 打赏
  • 举报
回复
你可以在Global的Session_Start里面,随便写一个
Session["x"] = "x";

试试

另外,检查ie的临时文件夹磁盘空间是否足够

我是老姚 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
首先,asp.net的Session很容易丢失的
再次,检查应用程序池中Web园的数目是否是1,这里必须是1
[/Quote]
检查过,WEB园是1
出现问题的数量不多,5%左右,但是出现问题的时候每次请求(包括刷新页面或AJAX请求)得到的SESSIONID都不同。
孟子E章 2012-09-19
  • 打赏
  • 举报
回复
首先,asp.net的Session很容易丢失的
再次,检查应用程序池中Web园的数目是否是1,这里必须是1
我是老姚 2012-09-19
  • 打赏
  • 举报
回复
没人在吗?
asuka986 2012-09-19
  • 打赏
  • 举报
回复
不往Session中写内容的时候,SessionID是每次都不同的
我是老姚 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
如果调用了Session.Abandon,每次都是一个新的Session
[/Quote]
没有调用这个东西
我是老姚 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
每一次验证码的验证请求返回的SESSION_ID都不一样

那就是丢失了

你可以在Global的Session_Start里面,随便写一个
Session["x"] = "x";

试试

你试了吗》

SOGOU浏览器的设置正确吗?如启用Cookie
你也可以重置浏览器设置
[/Quote]
都试过,浏览器的设置没有问题,上午一直正常,到11点半的时候出现问题。
出现问题的时候发送请求的时候请求的头信息里根本没有session_id.
正常的情况下发送请求时头信息里不应该是包含有session_id么。

62,133

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧