在我的 MVC 应用程序中,我每 10 秒使用重复的 ajax 调用。有时,经过一段时间后,数据库服务器与应用程序服务器断开连接,然后在运行应用程序的浏览器中出现巨大的内存泄漏。
我的代码运行为,
我每 10 秒使用 jquery.timer.js 进行重复的 ajax 调用
function class1() {
}
class1.prototype. funtion1 = function () {
$.ajax({
type: "POST",
url: "/TestContoller/ActionOne",
success: function (result) {
$('#DivActionOne').html(result);
},
traditional: true,
error: function (req, status, error) {
}
});
}
//Likewise for funtion2, funtion3, funtion4, funtion5
var count = 0;
var timer = $.timer(function () {
$('#counter').html(++count);
var class1 = new class1();
var funtionOne= class1.funtion1;
var funtionTwo= class1.funtion2;
var funtionThree= class1.funtion3;
var funtionFour= class1.funtion4;
var funtionFive= class1.funtion5;
var currentSec = count;
if ((currentSec % 10) == 0) {
funtionOne ();
funtionTwo ();
funtionThree ();
funtionFour ();
funtionFive ();
}
});
timer.set({ time: 1000, autostart: true });
当连接丢失时,我检查了跟踪日志并发现以下错误消息:
消息:System.ServiceModel.CommunicationException:底层连接已关闭:服务器关闭了预期保持活动状态的连接。---> System.Net.WebException:底层连接已关闭:预期保持活动状态的连接已被服务器关闭。---> System.IO.IOException: Unable to read data from the transport connection: 一个现有的连接被远程主机强行关闭。---> System.Net.Sockets.SocketException: 远程主机在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) 处强制关闭现有连接 --- End of inner异常堆栈跟踪 --- 在 System.Net.Sockets.NetworkStream.Read(Byte[] 缓冲区,Int32 偏移量,Int32 大小) 在 System.Net.PooledStream.Read(Byte[] 缓冲区,Int32 偏移量,
请帮我解决这个问题。