代码之家  ›  专栏  ›  技术社区  ›  MAW74656

C#.net webform,避免会话超时丢失数据

  •  1
  • MAW74656  · 技术社区  · 16 年前

    http://forums.asp.net/t/152925.aspx?PageIndex=1

    如果海报建议拦截重定向到登录页,则将数据提交到数据库,然后重新授权用户(在用户不知情的情况下)或重定向到登录页。我的目标是避免用户在表单中输入数据,然后走开,然后回来提交数据,结果被告知他们必须再次登录(这很好,如果数据仍然存在,并且用户被直接发送回原始web表单)。

    3 回复  |  直到 16 年前
        1
  •  5
  •   Matt Mills    16 年前

    这不一定很简单,但是您可以添加一个ajax组件,它偶尔调用一个页面来保持会话的活动性。这样,您就可以在不影响整个应用程序的情况下延长所需的任何特定页面的会话。

    如果您确实想让会话过期,但保留表单数据,则可以实现

    protected void Application_PostAuthenticateRequest (object sender, EventArgs e)
    

    ((HttpApplication)sender).Request.Path
    

    属性,它将告诉您请求了哪个页。

        2
  •  0
  •   Brad    16 年前

    好吧,简单的方法是大幅延长 web.config 文件。

        3
  •  0
  •   MAW74656    16 年前

    我将尝试使用cookies来保存数据。我的计划是在每个控件更改后更新用户的cookie,然后将逻辑添加到页面的page_load属性中,以便在用户重新登录后填充表单数据。