Я просматривал форумы, пытаясь найти решение своей проблемы, но не могу найти ничего похожего. Я вижу много проблем с утечкой памяти, но все еще не могу найти один конкретный для меня. Я тоже новичок в jquery.
Итак, у меня есть страница .net mvc, которая запрашивает базу данных и обновляет div каждые 3 секунды. Я замечаю, что он постоянно поглощает память, а затем в конечном итоге падает, когда он достигает около 1 ГБ памяти. Я использую 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>
Пользовательский элемент управления RunningSuites
перебирает список, содержащийся в переданном объекте viewmodel, и отображает новую табличную строку для каждой записи в списке внутри обычной HTML-таблицы
Вот ActionResult RunningSuites
public ActionResult RefreshRunningSuites()
{
RunningSuitesViewModel viewModel = new RunningSuitesViewModel(RunManager.GetCurrentlyRunningSuites());
return PartialView("RunningSuites", viewModel);
}
Есть идеи, как устранить эту утечку памяти? Спасибо.