Session过期的问题
编写了一个ASP.NET应用程序,在程序启动时初始化一个Session变量,但在程序中进行一写操作后,会经常性地出现Session变量为null的情况,请问这是为什么? 问题点数:0、回复次数:14Top
1 楼windyyang(风萧萧)回复于 2003-09-04 17:59:11 得分 0
你要确定是否真的初始化了,我还没遇到你说的情况!Top
2 楼caoit(lost)回复于 2003-09-04 18:09:52 得分 0
在用session的时候判断一下,
if(Session["变量"]!=null)
{
}
else
{
}
Top
3 楼xiaolin0987(清水)回复于 2003-09-04 21:42:28 得分 0
web.config文件里面的timeout的值设置大一点。Top
4 楼hans_marke(森林)回复于 2003-09-04 22:09:19 得分 0
session的时间有效性最大也只能设为20分钟!Top
5 楼shanhe(TNT)回复于 2003-09-04 22:52:32 得分 0
可能是你修改了一些文件的原因,最好重新关掉浏览器打开一个新的来测试Top
6 楼Sunmast(速马@Redmond, WA)回复于 2003-09-04 23:16:05 得分 0
有效时间只是默认最大20min,你可以在IIS里面调节的
不过最好还是在使用前判断一下是否为空Top
7 楼likika(likika)回复于 2003-09-09 18:26:47 得分 0
如何作到Session过期后自动转到登陆页面Top
8 楼seeingrain(雨)回复于 2003-09-09 18:39:38 得分 0
请注意,session失效有两种可能:
1、真的到了session失效的时间;
2、服务器端的原文间发生变动,包括aspx.vb(aspx.cs)的重新编译,web.config的编辑,都会造成所有session统统丢失。Top
9 楼seeingrain(雨)回复于 2003-09-09 18:40:39 得分 0
sorry,上面的 原文间,匆忙间打错了,应为 源文件Top
10 楼likika(likika)回复于 2003-09-10 09:14:14 得分 0
如何作到Session过期后自动转到登陆页面Top
11 楼standy(天下无双)回复于 2003-09-10 09:26:25 得分 0
重编译后session会丢失的Top
12 楼sjzwinfor(蜘蛛侠)回复于 2004-03-13 20:02:08 得分 0
Sunmast(速马)你好,请问如何在IIS中设置SESSION的时间呀Top
13 楼jzywh(江大鱼)回复于 2004-03-14 17:49:41 得分 0
主目录->配置Top
14 楼xubinhui(东方未名)回复于 2004-03-19 13:29:28 得分 0
Session相关问题:
1.Session丢失情况?
一:有些杀病毒软件会去扫描您的Web.Config文件,那时Session肯定掉,这是微软的说法。
二:程序内部里有让Session掉失的代码,及服务器内存不足产生的。
三:程序有框架页面和跨域情况。
第一种解决办法是:使杀病毒软件屏蔽扫描Web.Config文件(程序运行时自己也不要去编辑它)
第二种是检查代码有无Session.Abandon()之类的。
第三种是在Window服务中将ASP.NET State Service 启动,【并设置Web.Web.config的sessionState|mode为StateServer】
还有一种情况是您用资源管理器打开的还是IE打开的。
最好用IE打开试试。
2.Session被串?
Seesion是存储在服务器端的,它是使用客户端和服务器端共享一个关键字,一般情况下客户端使用cookie,服务器用这个cookie来识别seesion,如果seesion存在客户,他的安全性就得不到保障。一般来说就不会把用户登陆信息存储在seesion中了
<sessionState
mode="InProc"//这里改为StateServer 【把进程内状态改为进程外状态】 注意要启动 aspnet_state 服务
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="600"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="true" //这里说明不需要存在客户端 ,改为false试试?
timeout="60"
/>Top




