循环通过ajaxcallback(WCF服务)

时间:2014-11-05 06:33:20

标签: javascript jquery wcf

我正在通过“task”使用for循环,这是json对象响应。在这个循环中,我调用了一个函数来使用ajaxcallback(WCF服务)来保存“任务”。但问题是插入/更新行在表中随机影响(SQL Server)。

for (var i = 0; i < tasks.length; i++) {
    para = {taskName: task.Name, tasktype:TaskType }
    SaveTask();
}

SaveTask()
{
    $.ajax({
        type: "POST",
        url: "localhost/MyService/Task.svc/SaveTask",
        data: para,
        contentType: "application/json;charset=utf-8",
        dataType: "jsonp",
        async: false,
        success: function (data) {
            //alert("Successfully Added task");
        },
        error: function (msg) {
            alert("Failed");
        }
    });
}

我认为在服务运行时,下一次迭代开始,因此它会随机执行。 如果遇到同样的问题,请尽快回复。

由于

1 个答案:

答案 0 :(得分:1)

为什么会出现这种情况有几个原因,但最有可能的是你正在遭受竞争。

您在很短的时间内拨打了大量的服务电话,甚至考虑到网络延迟,服务器可能会调用多个线程来为您的多个请求提供服务。

每个线程都尝试同时访问数据库,结果不可预测。