【问题标题】:How to prevent ajax call from extending session timeout?如何防止ajax调用延长会话超时?
【发布时间】:2014-07-16 08:24:23
【问题描述】:

我的 Web 应用程序 (asp.net) 中有自动刷新功能,该功能会转到服务器并更新显示的数据。 每次调用(正如我阅读和测试的那样),都会重置会话超时,因此它永远不会结束。

有什么方法可以防止特定调用延长超时时间?

如果用户仍然通过身份验证,如果没有将他重定向到登录页面,是否有任何方法可以从客户端检查后台?

我检查每个 ajax 启动,如果我收到 403 错误,我会重定向他。我可以在没有用户实际操作的情况下完成吗?

【问题讨论】:

  • 我们能看到一些代码和 HTML 吗?
  • 自动刷新是由几个 ajax 调用构建的,这些调用从服务器获取数据(文件夹列表、文档列表都是同步的)并使用 $get 从服务器加载模板。
  • 是 MVC 还是 Web 表单?
  • ASP.NET Web 应用(已编辑)
  • 您对 DB 的查询需要这么长时间吗?那么它是一个问题。我认为一种解决方案可以是创建一个单独的服务 asmx 或 WCF 并使用它来获取数据,希望这不会重置会话超时。

标签: jquery asp.net ajax session-timeout


【解决方案1】:

我不知道这是否有效,但您仍然可以尝试一下。

我在堆栈溢出的其他线程上找到它。这个想法是它从响应中删除会话身份验证 cookie,这样它就不会被刷新。

// Hide the cookie so this call doesn't extend the user's ticket
HttpContext ctx = HttpContext.Current;
ctx.Response.Cookies.Remove(FormsAuthentication.FormsCookieName);

How do I stop ASP.net forms authentication / session from renewing in setInterval ajax web service call?

【讨论】:

  • 知道如何在使用 OWIN 身份验证时不扩展会话以轮询 ajax 请求
猜你喜欢
  • 2015-11-24
  • 2015-03-10
  • 1970-01-01
  • 2015-09-08
  • 2021-07-05
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 2012-01-03
相关资源
最近更新 更多