简体   繁体   English

会话超时后视图状态被破坏

[英]Viewstate destroyed after Session timeout

       protected override PageStatePersister PageStatePersister 
   {
       get
       {
           if (System.IO.Path.GetFileName(this.Page.Request.FilePath).Equals("login.aspx") || System.IO.Path.GetFileName(this.Page.Request.FilePath).Equals("login_error.aspx"))
               return base.PageStatePersister;
           string viewStateStorage = "memory";
           if (ConfigurationManager.AppSettings["ViewStateStorage"] != null)
               viewStateStorage = ConfigurationManager.AppSettings["ViewStateStorage"];               
           if (viewStateStorage != null && viewStateStorage.Equals("memory"))
           {
               return new CachePageStatePersister(Page);
           }
           if (viewStateStorage != null && viewStateStorage.Equals("session"))
           {
               return new SessionPageStatePersister(Page);
           }
           return base.PageStatePersister;
       }
   }

We are saving ViewState into memory, but when Session ends, ViewState is destroyed. 我们将ViewState保存到内存中,但是当Session结束时,ViewState被销毁。 Why? 为什么?

If you are saving the viewstate in memory, you are saving it in the Session. 如果要将视图状态保存在内存中,则将其保存在会话中。 So when you session ends, your viewstate is also removed from memory. 因此,当会话结束时,视图状态也会从内存中删除。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM