Atlas之批量调用Web Service以提高效率
最后是JavaScript脚本,调用Web Service:
在这个示例中,我们首先调用了一个低优先级的请求,然后一个中优先级的,最后两个高优先级的。
由于高优先级不参与批量调用,所以您最先看到的是它们的返回:

由于中低优先级的总数为2个,尚未达到5,所以在3000毫秒的延时过后才被发送:

您可以修改invokeTasks_onclick()方法中的调用顺序以及调用数目,分析批量调用的实现方式。
注意到DoTask()方法接受两个参数:times用来指定调用次数,priority用来指定优先级,并且我们利用了一个全局的变量taskID用来维护一个自增的请求顺序。function invokeTasks_onclick()
{
// clear the output
$('result').innerHTML = '';
![]()
DoTask(1, 2);
DoTask(1, 1);
DoTask(2, 0);
}
![]()
var taskID = 0;
function DoTask(times, priority)
{
for (var i = 0; i < times; ++i)
{
SampleService.DoTask(
taskID++,
priority,
{onMethodComplete: OnComplete, priority: priority }
);
}
}
function OnComplete(result)
{
$('result').innerHTML += result + "<br />";
}
在这个示例中,我们首先调用了一个低优先级的请求,然后一个中优先级的,最后两个高优先级的。
由于高优先级不参与批量调用,所以您最先看到的是它们的返回:

由于中低优先级的总数为2个,尚未达到5,所以在3000毫秒的延时过后才被发送:

您可以修改invokeTasks_onclick()方法中的调用顺序以及调用数目,分析批量调用的实现方式。
0
相关文章