[英]Duplex Callbacks or Client-Side Threading for Responsive WCF Clients
我有一個特定的服務,其中特定的功能需要比其他功能更長的時間,有時他們可能需要幾秒鍾才能返回。 為了防止在發生這種情況時阻止客戶端的UI,首選解決方案是什么:
哪種解決方案更好,特別是在互操作性受到青睞但不是絕對必要時,並且您認為哪種解決方案更快(更清潔)的實施和維護?
如果實現回調契約,則無需客戶端實現多線程代碼。 在使用.Net客戶端時,這可能不是一個顯着的優勢(因為VS將為您自動生成異步代理代碼),但在與其他平台/語言的客戶端合作時可能會有所幫助。
哪一個更干凈? 嗯,這取決於您是客戶端還是服務器開發人員。 如果,正如我懷疑你的情況,你是兩個,並且你可以只使用.Net作為客戶端和服務器,那么我現在可能想要避免回調。 如果你暗示服務呼叫需要45秒,那么我會說回叫合同,這確實是主觀的,但如果我要堅持下去,那么我會說如果響應時間超過5秒那么是時候轉向回調了。
您應該實現CallBackcontract 。
這是一個例子 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.