【问题标题】:Viewstate destroyed after Session timeout会话超时后视图状态被破坏
【发布时间】:2015-10-06 00:04:45
【问题描述】:
       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;
       }
   }

我们正在将 ViewState 保存到内存中,但是当 Session 结束时,ViewState 被销毁。为什么?

【问题讨论】:

    标签: c# asp.net session webforms viewstate


    【解决方案1】:

    如果您将视图状态保存在内存中,则将其保存在会话中。因此,当您的会话结束时,您的视图状态也会从内存中删除。

    【讨论】:

    • 那么如果我保存 CachePageStatePersister(Page) 或 SessionPageStatePersister(Page) 它仍然会保存在会话中?
    猜你喜欢
    • 2013-01-29
    • 2012-10-16
    • 2019-02-23
    • 1970-01-01
    • 2013-08-06
    • 2014-08-15
    • 1970-01-01
    • 2013-10-31
    • 2012-07-24
    相关资源
    最近更新 更多