簡體   English   中英

如何終止對.net Web服務的JavaScript異步調用?

[英]How to kill a javascript async call to a .net webservice?

我的JavaScript代碼正在調用asp.net網絡服務,因此我對網絡服務進行了如下調用:

MyWebservice.GetData(參數,ResponseReceived,ResponseTimeOut,ResponseError);

當Web服務返回數據時,將調用ResponseReceived方法。

但是,有時用戶可能會在Web服務調用實際返回之前導航到另一個URL,在這種情況下,FireFox會引發錯誤,提示“發生錯誤,導致請求失敗。 服務器方法GetData失敗'

所以我的問題是,當用戶導航到另一個頁面或向Web服務發出另一個請求時,如何殺死異步調用? 我知道在正常的XMLHttpRequest中我可以調用Abort方法,但不確定如何使其與上述Web服務代理一起工作。

一個好的做法是將您的通用功能放在一個通用的位置,您可以從所有頁面訪問該通用功能。

這將包括OnError函數。 這樣,您可以安全地從所有頁面引用相同的功能。 如果需要提供自定義的錯誤功能,則可以在頁面上覆蓋此功能,或者在常用功能中包含處理程序,然后調用該功能(如果已分配)。

放置此類通用功能的好地方是在根母版頁中,或從根母版頁引用的共享JavaScript文件中。

這樣做的好處是,希望您的OnError函數可以進行一些日志記錄,這樣您就可以了解失敗的原因和發生的頻率,從而可以相應地設計應用程序。

好的,我找到了解決方案,我可以調用get_executor()方法來獲取XmlHttpExecutor類的實例,在該實例上可以調用abort方法。 希望它可以幫助其他面臨類似問題的人。

我仍然渴望找到其他解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM