服务器未处理多个并行请求

我正在尝试获取控制器方法的进度。我已经使用setInterval方法来调用控制器内的progress方法,但是setInterval内的ajax调用仅在执行控制器方法后才命中控制器,直到那时ajax请求状态保持{{1 }}上。

我考虑过将第一种方法异步化

Java脚本代码

pending

controller.cs

function Import() {
    $('.loader').show();

    var checked;
    if ($('#chkNewCycle').is(":checked")) {
        checked = 'on';
    }
    else {
        checked = 'off';
    }

    var NewCycle = { IsnewCycle: checked };

    $.ajax({
        url: '/DataImport/Import',type: 'POST',data: NewCycle,success: function (result) {
            $('.loader').hide();
            if (result == "success") {
                window.clearInterval(intervalId);
                alert("Imported file for processing.");
                ClearData();

            }
            else {
                alert(result);
            }
        }
    });   


    var intervalId = window.setInterval(function () {
        $.getJSON('/DataImport/GetProgress',function (json) {
            console.log(json.Progress);
            $('#progress').html(json.Progress + '%');
        });
    },2000);



}

我需要同时击中两个控制器方法

fuchen333 回答:服务器未处理多个并行请求

使用[SessionState(SessionStateBehavior.ReadOnly)]属性装饰控制器,然后可以并行执行请求。

本文链接:https://www.f2er.com/3167627.html

大家都在问