我有一个客户端/服务。异步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