我浏览了论坛试图找到解决我的问题的方法,但找不到类似的东西。虽然我看到很多内存泄漏问题,但仍然找不到一个特别适合我的问题。我对 jquery 也很陌生。
所以我有一个.net mvc 页面,它查询一个数据库,每 3 秒刷新一个 div。我注意到它不断地消耗内存,然后在达到大约 1gb 的内存时最终崩溃。我正在使用 IE8。这是页面:
<script type="text/javascript">
var refreshInterval = 3000;
var refreshInSeconds = refreshInterval / 1000;
$(document).ready(
function () {
$("#timerValue").text(refreshInSeconds.toString());
});
$(function () {
setInterval(
function () {
$.ajax({
url: '<%:Url.Action("RefreshRunningSuites")%>',
context: document.body,
cache: false,
success: function (data) {
$("div#runningSuites").html(data);
}
});
},
refreshInterval);
});
</script>
<h2>
Currently Running Suites</h2>
<br />
<div id="runningSuites">
<% Html.RenderPartial("RunningSuites", Model); %>
</div>
<div id="footer">
Listing refreshes every <label id="timerValue"></label> seconds.
</div>
用户控件循环遍历传入的 viewmodel 对象中包含的RunningSuites
列表,并为普通 html 表内的列表中的每个记录呈现一个新的 tablerow
这是 ActionResult RunningSuites
public ActionResult RefreshRunningSuites()
{
RunningSuitesViewModel viewModel = new RunningSuitesViewModel(RunManager.GetCurrentlyRunningSuites());
return PartialView("RunningSuites", viewModel);
}
知道如何解决此内存泄漏吗?谢谢。