我做了一个门户网站,后台用Session存储,没有做任何配置与设置,用Session存储用户登录的信息,但是每次都是发布后,Session里面存储的用户存储不到2分钟就消失了,很是麻烦,请问高人这是什么原因?我什么也没有配置和Session的过期设置!

解决方案 »

  1.   

    WebConfig<sessionState mode="InProc" cookieless="false" timeout="240" stateConnectionString="tcpip=192.168.0.1:42424" stateNetworkTimeout="14400" />  
      

  2.   

    从你的问题看,不是设置时间的问题,Session默认时间为20分钟,是否使用Session的页面为框架页?
      

  3.   

    sessionState mode="Stateserver"  用这个模式。
      

  4.   

    Iframe中Cookie传递不丢失的问题解决
    [ 2007-7-19 10:51:00 | By: 飞扬人生 ]0
    推荐
    如果 iframe另一个页面,登录容易丢失,如博客里采用了二级域名,那么用户在二级域名中不能登录。如果两套系统整合,登录时也容易这样,这是IE的安全限制。这里有一个简单方法解决。问题描述:我们这边有两个系统,一个OA系统,基于LOTUS的,现在我们用asp.net做了几个应用模块,需要集成到OA系统中,需要实现一个后来隐藏登录,利用iframe实现,但是发现,iframe引用的页面,直接通过浏览器是可以访问的,但是通过ifame就不可以了。难道是iframe的问题。
    于是,我google了一下:“iframe cookie”,竟然有很多人讨论!不久就基本上确认了我当时推测。IE6.0对W3C 关于cookie的P3P协议的支持,支持得有些荒唐,几乎成了bug。
    有人说,可以设置一下IE的cookie隐私,就好了,不用对程序做任何改动。但是,总不能要求所有用户这么做吧。
    再找,呵呵,问题终于解决了
    问题原因: 
    在frameset里面,也就是里面的frame是来自第三方站点(不同IP或不同域名),那么默认情况下IE会自动禁用这些站点的cookie,也就是在请求某url时在HTTP header里不发送它们的cookie,包括session的cookie。注意,这些站点在response里面设置的cookie还是会被发送到浏览器的。
    解决方法:
    对frame里面的引用站点的response header里面添加一个确认信息,在MSDN里面有个最简单的解决办法:response.addHeader("P3P","CP=CAO PSA OUR")。
    所有我们可以通过增加一个网站http头来解决问题;
    管理工具——〉选择一个网站——〉属性——〉http头,增加一个http头
    然后输入头名:P3P
    输入头内容:CP=CAO PSA OUR
    注意:可以只选择某一个目录!
    好了,ok了最后,给出一个msdn的参考:
      

  5.   

    sessionState mode="Stateserver"  用这个模式。这个是很不错的。楼主可以去研究下
      

  6.   

    设置Session过期时间(秒) Session.Timeout = 120;