在用session的时候判断一下,
if(Session["变量"]!=null)
{
}
else
{
}

解决方案 »

  1.   

    web.config文件里面的timeout的值设置大一点。
      

  2.   

    session的时间有效性最大也只能设为20分钟!
      

  3.   

    有效时间只是默认最大20min,你可以在IIS里面调节的
    不过最好还是在使用前判断一下是否为空
      

  4.   

    如何作到Session过期后自动转到登陆页面
      

  5.   

    请注意,session失效有两种可能:
    1、真的到了session失效的时间;
    2、服务器端的原文间发生变动,包括aspx.vb(aspx.cs)的重新编译,web.config的编辑,都会造成所有session统统丢失。
      

  6.   

    sorry,上面的 原文间,匆忙间打错了,应为 源文件
      

  7.   

    如何作到Session过期后自动转到登陆页面
      

  8.   

    Sunmast(速马)你好,请问如何在IIS中设置SESSION的时间呀
      

  9.   

    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" 
    />