如何取消所有挂起的PageMethods

时间:2013-01-15 12:26:47

标签: c# javascript asp.net .net-3.5 pagemethods

我需要在制作另一个之前取消所有挂起的PageMethod调用,但是我无法处理请求。我希望我能做到以下的事情:

var pm = PageMethods.Test(123);
var ex = pm.get_executor();
ex.abort();

但是,PageMethods调用不会返回请求的句柄,如果您查看动态生成的javascript以进行调用...

PageMethods.Test= function(id,onSuccess,onFailed,userContext) {
PageMethods._staticInstance.Test(id,onSuccess,onFailed,userContext); }

...你可以看到没有return声明,这是问题所在。如果我用以下内容覆盖该声明:

PageMethods.Test = function(id, onSuccess, onFailed, userContext) {
return PageMethods._staticInstance.Test(id, onSuccess, onFailed, userContext); }

然后我可以执行以下操作:

var pm = PageMethods.Test(123, function()
{
    alert('completed');
}, function(err)
{
    alert('failed');
});

var ex = pm.get_executor();
ex.abort();

但是我不想像上面那样覆盖每个页面方法,而我真正想做的就是像PageMethods.cancelAllPending()那样但是不存在,至少每个PageMethods调用都是返回请求我可以自己跟踪它们并取消它们,但它没有!

不,我不是,也不能使用jQuery(或任何其他javascript库!)。

1 个答案:

答案 0 :(得分:1)

相关问题