c# - 当页面长时间打开时,JQuery ajax 调用中断

标签 c# javascript jquery asp.net-mvc-3

首先,我是 javascript 和 JQuery 的新手,所以我希望这不是新手问题。

我正在处理的项目是一个 MVC3 应用程序。我正在按如下方式进行 AJAX 调用,一切正常。

$.ajax({
  url: 'blah',
  data: {data1: '', data2: ''},
  dataType: 'json',
  success: function(val){

  },
  error: function(message){
    alert("Error!");
  }

我的问题是,如果屏幕长时间打开,没有用户交互,我的 ajax 调用不会被触发,我会收到错误消息。我在我的 C# 代码中放置了一个断点,该断点被调用并且在长时间不活动后永远不会被击中。

再次重申,它工作正常,但只有在长时间不活动(30 分钟以上)后才会中断。这是一个边缘案例,但仍然是一个问题。

谢谢!

最佳答案

如果您离开 session 超过 30 分钟,您的 session 很可能已超时。您可以做两件事(我想还有很多事情要做!)

  1. 您可以在 web.config 文件中修改 session 超时:

    < sessionState ........ timeout="minutes"................../>

注意:如果您在此配置中投入的时间过多,并且访问次数过多,您的网络服务器可能会出现内存问题。

<醇>
  • 您可以使用此属性在您的 Controller 中装饰您的操作:

    [AllowAnonymous]

  • 注意: AllowAnonymousAttribute 适用于 MVC 4 或更高版本。如果你想在以前的版本中实现。最后,这可能会给您的应用程序带来安全问题。

    希望对您有所帮助!

    关于c# - 当页面长时间打开时,JQuery ajax 调用中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14445463/

    相关文章:

    c# - 在pdf c#中的另一个图像上添加图像水印

    javascript - 如何使用 jquery 影响特定元素

    javascript - 通过使用带有 D3.js 的表的复选框来过滤数据

    javascript - 我怎样才能让我的 div 在我的 li 元素中首先出现在 css 中

    c# - 示例中的 CA2202 无效流

    c# - Int[].Contains 在 EF6 中不起作用

    c# - DI : Different implementations of the same interface for the different controllers

    javascript - 无法实现 mustache js 来显示信息

    php - jQuery 检查用户名是否被占用

    javascript - 在 div 中翻转动画不隐藏 Canvas 。预期行为是隐藏 Canvas