2014-11-05 54 views
0

我正在使用循環「任務」,這是json對象的響應。在這個循環中,我調用了一個函數來使用ajaxcallback(WCF服務)保存「任務」。但問題在於插入/更新行在表中隨機影響(SQL Server)。通過ajaxcallback循環(WCF服務)

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

*插入/更新行在表中隨機影響* - 這是沒有意義的。插入/更新以何種方式隨機?你的意思是電話的順序是隨機的嗎? – 2014-11-05 10:13:52

+0

是,正好 插入順序不同。 – 2014-11-07 07:09:44

回答

1

爲什麼有這個可能會發生的幾個原因,但最有可能的是你痛苦的競爭條件。

您在很短的時間內對您的服務進行大量調用,甚至將網絡延遲分解,服務器可能會調用多個線程來處理您的多個請求。

每個線程都嘗試以相同的方式訪問數據庫,但結果不可預知。