我正在通过“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");
}
});
}
我认为在服务运行时,下一次迭代开始,因此它会随机执行。 如果遇到同样的问题,请尽快回复。
由于
答案 0 :(得分:1)
为什么会出现这种情况有几个原因,但最有可能的是你正在遭受竞争。
您在很短的时间内拨打了大量的服务电话,甚至考虑到网络延迟,服务器可能会调用多个线程来为您的多个请求提供服务。
每个线程都尝试同时访问数据库,结果不可预测。