Счетчик прогресса Страница Вызов метода прерван - PullRequest
2 голосов
/ 21 сентября 2010

У меня довольно длинный процесс, работающий в стандартной обратной передаче. Затем у меня есть следующий метод страницы, чтобы вернуть прогресс повторяющейся функции 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 никогда не достигается.

1 Ответ

0 голосов
/ 15 апреля 2011

У меня была эта проблема раньше.В качестве обходного пути я реализовал код в файле Ashx и избегал таким образом прикоснуться к той же странице.Должно работать и для вашего кода, так как вы просто сообщаете о переменной сеанса.

Кстати, обратите внимание, что ваш код прерывается, когда у вас запущено 2 запроса в одном сеансе.Это может произойти при открытии нескольких вкладок на одной странице в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...