У меня есть клиент / служба.
У службы есть метод, который занимает много времени (он взаимодействует с базой данных).
Я вызываю этот метод через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
Вот видео, которое может помочь.