ASP.NET中的SESSION冲突的问题

前段时间做了一个ASP.NET的网站 用SESSION保存用户名等信息

但是过了一段时间发现:有时候A用户登录了网站,接着B用户也登录了网站,然后A用户浏览器里面的SESSION信息就成了B用户的了……

每个请求应该都有一个SESSIONID的,但是上面的情况是什么原因呢?
那会不会是这种情况

SESSION设置的时间过长了

A 的SESSION本来过期了 执行SESSION END了

然后B 又登录

恰巧 B 生成的SESSIONID 和A 一样

所以

A 就成了B的信息了

第1个回答  2011-09-08
1.页面放一个隐藏域,存放登录的用户。放在session里
2.以后登录的时候,在后台写JS,脚本,判断此页面的父页面的那个隐藏域,有没有值,如果有,直接return,alert()。如果没有,允许登录。
第2个回答  2011-09-08
不是吧 ,Application 才会这样的追问

Application 也不会出现吧

A、B 用户不是同一个电脑,也不是同一个地方的 ……

追答

Application 是全局变量,改变会反映到所有用户

本回答被提问者采纳
第3个回答  2011-09-08
是呵 按理说session并不是共用的 不应该出现这种情况,我也搞不明白。建议楼主再仔细检查一下代码是不是别的原因导致的
第4个回答  2011-09-09
如果是同一个机器,同一个浏览器的话,后一个会覆盖前一个的.追问

关键是 不是同一台机器 更不是同一个浏览器 …… 奇了怪了就 ……

第5个回答  2011-09-10
检察一下写入session的那部分代码
第6个回答  2011-09-14
是不是同一台登录追问

两个地方的用户

追答

根据我的经验 两个地方的肯定不会

追问

但是的确出现了 可郁闷了

用GET SET 属性设置器 会不会出现呢

Asp.Net处理Session失效解决方案
检查ASP NET Session是否失效 是否超时 默认是 分钟 设置的方法是Session TimeOut= ;或者您可以设置到更高 这个数值的单位是分钟 大家视情况而定 检查代码有无Session Abandon()之类的 一旦调用 Abandon 方法 当前会话不再有效 同时会启动新的会话 ASP NET中使用了ACCESS数据库 而且数据库是放在bin目录...

关于session使用问题,莫名其妙丢失了!
二:程序内部里有让Session掉失的代码,及服务器内存不足产生的。三:程序有框架页面和跨域情况。第一种解决办法是:使杀病毒软件屏蔽扫描Web.Config文件(程序运行时自己也不要去编辑它)第二种是检查代码有无Session.Abandon()之类的。第三种是在Window服务中将ASP.NET State Service 启动。

ashx文件中使用线程以及session 出现了错误 asp.net
不要跨线程访问HttpContext.Current,因为HttpContext.Current作为一个HttpContext对象,是保存在你的当前IIS请求线程的,如果你新建了一个线程,在里面调用它,得到的会是一个空实例,会引发NullReferenceException。如果非要用线程,也有一个折衷的做法:HttpContext ctx = HttpContext.Current; Thread t = new...

asp.net想实现登录后跳转到之前的网页,导致session值丢失。
Request.UrlReferrer这个表示获取来源页的链接。我的项目中都是用的这个,没有出现过问题!Response.Redirect(Request.UrlReferrer);希望对您有帮助!!

关于ASP和ASP.NET的 合并问题!!!
1.asp和asp.net一起运行时不会冲突的。2.asp和asp.net中Session和appliction的值是不能共享的,因为这两个对象都是在iis中用单独的框架建立的,存储机制是不相同的。如果是在同一个域当中cookie的访问当然没有问题滴。cookie并不依据于程序,而是依赖于域名,只是可能asp和asp.net相互之间写入cookie时...

我使用session(ASP.NET)保存登陆信息。登陆后过了一会竟然自动退出了...
你设置一下session的生存周期吧!你可能用的是别人的服务器,他会设施相应的时间,主要是为了减轻服务器压力。

asp.net 如何处理sessio过期问题
session有个timeout属性。为有效时间。当你超过有效时间没有操作。session就会失效。可以自己设置。。默认为20分钟

asp.net session老是丢失
1.当您在负载平衡的 Web 场环境中运行 ASP.NET Web 应用程序时,一定要使用 SqlServer 或 StateServer 会话状态模式,在项目中我们基于性能考虑并没有选择SqlServer模式来存储Session状态,而是选择一台SessionStateServer 服务器来用户的Session会话状态。我们要在系统配置文件web.config中设置如下:<session...

管家婆.net版本出现的问题怎么解决啊!
这种情况下,Session是保存在Asp.Net工作进程映射的内存中的,问题是Asp.Net工作进程为了维护良好的平均性能,会被系统经常回收。我们在IIS里可以配置自动回收(比如按时间周期回收,或者当内存使用达到多少值时自动回收),如下图即为IIS7中配置应用程序池回收参数的界面:当Asp.Net工作进程被回收时,其映射...

asp.net里面的Session的超时问题
session 默认的有个过期时间。session.timeout()可以修改

相似回答
大家正在搜