У меня довольно длинный процесс, работающий в стандартной обратной передаче. Затем у меня есть следующий метод страницы, чтобы вернуть прогресс повторяющейся функции JavaScript, которая должна сообщать о прогрессе.
Мой простой метод страницы:
[WebMethod]
public static int GetProgress()
{
return (int)(HttpContext.Current.Session["ActivationResources.ImportProgress"] ?? 0);
}
Мой клиентский скрипт:
function startProgress() {
window.setInterval(updateImportProgress(), 500);
}
var importProgress = 0;
function updateImportProgress() {
//debugger;
PageMethods.GetProgress(function (result, response, context) {
if (result == importProgress) {
$("#messageLabel").append(" .");
}
else {
$("#messageLabel").html("Busy importing resources - " + result + "%");
}
importProgress = result;
});
}
Функция updateImportProgress
вызывается, но Firebug сообщает, что POST для GetProgress 'отменен'. Почему это может быть? Я подозреваю, что это потому, что вызов статического метода заблокирован фактическим исполняющим методом, за прогрессом которого я пытаюсь следить. Точка останова в методе GetProgress
никогда не достигается.