簡體   English   中英

WCF Ajax呼叫是否阻止呼叫?

[英]Are WCF Ajax Calls blocking calls?

我們有一個簡單的ASP.Net WCF Ajax啟用的Web服務,可以通過生成的JavaScript代理來調用。 該服務執行數據庫存儲過程調用以返回記錄的整數。 當從客戶端(在Windows 7上為IE8)調用該調用並且需要DB調用時,我無法調用任何其他JavaScript函數。 例如,下拉菜單中的一個具有onchange事件,該事件直到Web服務調用完成后才觸發

我是否對WCF服務進行了錯誤配置,並且無意間將其設為同步調用? 還是我認為WCF Ajax調用異步錯誤?

樣例代碼

var count = MyNameSpace.MyService.GetCount(param1, onComplete); 

function onComplete(result){
    $get('countLabel').text = result;
}

MyNameSpace.MyService is the automagically generated proxy

答案是否定的,不是。 呼叫應該異步發出,您應該通過回調收到完成或失敗的通知。 因此,如果您遇到此問題,則似乎有些嚴重錯誤。

唯一需要注意的是,較舊的瀏覽器在與單個域通信時確實有兩個連接限制,因此,如果您同時進行多個調用,則直到前兩個完成之一時,才會發出Third +調用。 這些連接與瀏覽器可能正在檢索的其他資源共享,例如圖像和樣式表。 我相信,在IE8 +,Chrome和Mozilla中,連接數量已增加到八個。

暫無
暫無

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

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