2012-04-17 63 views
3

我熟悉創建WCF客戶端,調用標準方法,然後在完成時關閉或中止客戶端的最佳做法,但我想知道有關客戶端的異步方法。爲異步方法創建和關閉WCF客戶端的最佳做法

我有一個經理類,有一些通過事件的消費類附加到以檢索異步調用的結果。例如:

internal sealed class CommController 
{ 
    public event GetClientIdEventHandler ClientIdReceived; 

    private readonly LocalCommSvcClient _localCommSvcClient = new LocalCommSvcClient(); 

    public CommController() 
    { 
     _localCommSvcClient.GetClientIdCompleted += (o, e) => ClientIdReceived(o, e); 
    } 

    public void GetClientIdAsync() 
    { 
     _localCommSvcClient.GetClientIdAsync();    
    } 
} 

但我沒有看到客戶端在哪裏關閉和/或處置。我無法真正發現關閉WCF客戶端的最佳做法,因爲它與異步使用有關。我應該在哪裏放置.Close()和/或.Abort()調用?

+0

我認爲它經歷了一個標準的REST請求/響應循環(可能通過HTTP),由於它是無狀態的,因此沒有必要「關閉」客戶端,因爲首先沒有真正打開任何東西。雖然我在這方面可能是錯的,但我沒有潛心鑽研WCF的真正細節。 – 2012-04-17 16:10:24

回答