4

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

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

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

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

我的问题是,如果屏幕长时间处于打开状态,没有用户交互,我的 ajax 调用不会被触发并且我得到一个错误。我在控制器函数上的 C# 代码中设置了一个断点,该函数在长时间不活动后被调用并且永远不会被击中。

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

谢谢!

4

1 回答 1

0

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

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

    < sessionState .... timeout="分钟"................../>

注意:如果您在此配置中花费太多时间,并且访问次数过多,则您的 Web 服务器可能存在内存问题。

  1. 您可以使用此属性在控制器中装饰您的操作:

    [允许匿名]

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

我希望这能有所帮助!

于 2013-02-12T05:02:48.743 回答