我做的一个后台登陆 (登陆成功后把用户名存到Session中) 做了个 Session判断  但是 好像时间很短(大概5分钟吧)Session就会过期  求 个解决的好办法  我村SEssion的方法是   Session["username"] = txtUsername.Text;

解决方案 »

  1.   


    这是session丢失了。用stateserver方式配置session...配置方法
      

  2.   

    在web.config文件中<system.web>下面设置:<sessionState timeout="500"/>
    timeout=“”里面设置时间长短
      

  3.   

    那个5分钟不叫做session有效期,明明是丢失,跟有效期没有关系。。
      

  4.   

    确实是session丢失了,在config中的timeout属性设置下就好了
      

  5.   

    5分钟是丢失,seisson的默认失效时间是20分钟!
      

  6.   

    asp.net和IIS的机制非常明确,当系统需要维护的时候,比如服务器拥有者为了让上百个网站都能平稳而公平地运行而做的资源限制规定(比如每当150个IIS连接直接之后就重启),session以及其它一切静态资源就丢失了,因为服务自动重启了。因此开发asp.net程序的时候必须知道在租用的虚拟主机上经常每隔10分钟就会丢失session集合数据(以及application、其它静态变量、数据缓存等等一切基于内存的数据)。你要么根本不使用session集合(但是Session.SessionID是不会丢失的),要么假设你拥有服务器就可以使用“状态服务器”等等非InProc模式的管理方式。我的编程原则是不使用session集合。
      

  7.   

    session的有效期不好用,设了也不管用。如果想时间长点,就用cookie吧。
      

  8.   

    webconfig里设置 当然也可以程序里设置 都一样  session里的数据丢失不一定是过期  还有内存的问题
      

  9.   

    StateServer
      

  10.   

      这样可以 缓解一下因为session是内存的东西如果内存 操作 混乱  复杂也有可能因为别的 原因丢失