为什么在一个页面中的用session存了一个值,
然后url到另一页面其,session的值还是存在,
但到另一页面时,session的值就没有?

解决方案 »

  1.   

    不可能出现你的问题!
    也许那个"另一个页面"的SessionSate=false了!
      

  2.   

    ???
    过期
    不大会的不过CSDN中
    ACEWANG提过了SESSION丢掉的原因你问问他
      

  3.   

    SessionSate我没有进行设置,而且,我查找了整个内容,其值没有被修改过;
    timeout设置为"600"操作时间很快的,根本没有理由记不住啊??怪了.
    用Session需要有什么注意的地方吗?
      

  4.   

    看看session的延时是多少
    是不是你在下个页面是把session给清空了
    一般不会出现这个问题
      

  5.   

    timeout设置为600
    session也没有清空
    就是查不出原因呢?
    怎么这种情况,让我初学者与到呢??
      

  6.   

    不会出现楼主的原因啊。你把那几个页关于session的代码拿出来看看~~
      

  7.   

    首先一个logon.aspx.cs中的,我这样写的,
    Session["User_id"] = ref_Values[0];
    Session["STAFF_NAME"] = ref_Values[1];将其记录了哦,logon成功后,到deafult.aspx中,其由几个网页框架所组成,
    其中的左侧树中可以得到session的信息,但在
    左侧树超连接过去的右边的页面则此时无法得到session的值,并且
    中session中的count个数为0
      

  8.   

    各位:
    过期是什么意思啊?是这个timeout设置得时间比较短吗?我设置为600呀,是相当于10个小时啊,这个
    是在web.config中设置吗?如下所示?有什么不对吗?
        <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="600" 
        />
      

  9.   

    http://community.csdn.net/Expert/topic/3561/3561164.xml这是acewang发起的讨论,结论似乎就是M$ sucks :pp
      

  10.   

    这几条个人觉得值得参考。
     回复人: goody9807() ( ) 信誉:100  2004-11-18 9:00:43  得分: 0  SessionState 的Timeout),其主要原因有三种。
    一:有些杀病毒软件会去扫描您的Web.Config文件,那时Session肯定掉,这是微软的说法。
    二:程序内部里有让Session掉失的代码,及服务器内存不足产生的。
    三:程序有框架页面和跨域情况。
    第一种解决办法是:使杀病毒软件屏蔽扫描Web.Config文件(程序运行时自己也不要去编辑它)
    第二种是检查代码有无Session.Abandon()之类的。
    第三种是在Window服务中将ASP.NET State Service 启动。http://community.csdn.net/Expert/topic/3100/3100218.xml?temp=.4426386
    还有可能就是你在测试期间改动了,网站的文件。
    回复人: mooniscrazy(月色疯狂) ( ) 信誉:100  2004-11-18 9:05:33  得分: 0  下面是帮助中的内容:
    (ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconsessionstate.htm)
    ASP.NET 提供一个简单、易于使用的会话状态模型,您可以使用该模型跨多个 Web 请求存储任意数据和对象。它使用基于字典的、内存中的对象引用(这些对象引用存在于 IIS 进程中)缓存来完成该操作。使用进程内会话状态模式时请考虑下面的限制: 使用进程内会话状态模式时,如果 aspnet_wp.exe 或应用程序域重新启动,则会话状态数据将丢失。这些重新启动通常会在下面的情况中发生: 
    在应用程序的 Web.config 文件的 <processModel> 元素中,设置一个导致新进程在条件被满足时启动的属性,例如 memoryLimit。 
    修改 Global.asax 或 Web.config 文件。 
    更改到 Web 应用程序的 \Bin 目录。 
    用杀毒软件扫描并修改 Global.asax 文件、Web.config 文件或 Web 应用程序的 \Bin 目录下的文件。     
    如果在应用程序的 Web.config 文件的 <processModel> 元素中启用了网络园模式,请不要使用进程内会话状态模式。否则将发生随机数据丢失。
     回复人: 54989875(公木子) ( ) 信誉:98  2004-11-19 9:38:44  得分: 0  启动ASP.NET State Service服务然后设置Webconfig文件。<sessionState 
                mode="StateServer"
                stateConnectionString="tcpip=127.0.0.1:999999"(自定义)
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"(自定义)
                cookieless="false" 
                timeout="20" 
        />
      

  11.   

    对我是使用了,FRAME
    可是按您所说的第三种方法,启动服务,
    然后修改
       <sessionState 
                mode="StateServer"
                
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="40" 
        />文件,后,问题仍存存,?有没有其他的办法进行解决了?