我有一個客戶端/服務。異步Web方法
該服務有一個需要很長時間才能完成的方法(它與數據庫交互)。
我通過AJAX請求從頁面調用這個方法到客戶端,然後到服務端。
我的服務代碼:
[WebMethod]
public static string LookupUPC(string sessionId, string upc) {
string response = "";
var client = new SmartShopService.SmartShopInterfaceClient();
try {
response = client.LookupUPC(sessionId, upc);
}
catch (Exception e) {
throw e;
}
finally {
if (client.State == System.ServiceModel.CommunicationState.Faulted)
client.Abort();
else
client.Close();
}
return response;
}
它是從頁通過AJAX請求
for(var i = 0;i<10; i++){
$.ajax({
type: "POST",
url: "SmartShopGUI.aspx/LookupUPC",
contentType: "application/json; charset=utf-8",
data: DataCreator(allData),
dataType: "json",
success: function (result) {
$(upcName).html(result.d);
},
error: AjaxFailed
});
}
既然叫,這是頁面上的異步完成的,但客戶端同步發送請求。我想改變它,如果它一次請求10個,它會向服務發送10個不同的請求。
http://www.screencast-o-matic.com/watch/cX1Qo8qV2
這裏是一個視頻,這可能有助於。
我不認爲你已經給了我們足夠的信息......客戶端如何向他們發送同步?這個'Loader'在哪裏定義,它在哪裏調用這個Ajax負載? – Fosco 2011-06-09 14:33:13
裝載機是什麼意思?我知道客戶端正在同步發送它們,因爲我向WebMethod發送了10個AJAX請求,但通過斷點,我發現每個請求都等待前一個請求完成。客戶端只是一個ASPX頁面。 – Overload119 2011-06-09 14:41:58
@ Overload119我的意思是在Ajax調用這一行:'Loader.RequestsMade - ;'..我看來,像有個東西叫裝載機是使這些電話和遞減計數...... – Fosco 2011-06-09 14:45:36