2009-06-04 53 views
0

我的應用程序正在泄漏頻道。特別是有些頻道沒有正確關閉,但我找不到位置。在某個時候,我的應用程序掛起,因爲沒有通道可以打開。如何獲取WCF中的所有開放頻道

是否有某種方法來獲取servicemodel中的所有開放通道,所以我回溯了這個問題?

+0

在服務器或客戶端?如果服務器:你自己託管,還是託管在IIS/WAS中?可能會使用哪些協議?您需要提供更多信息,請..... – 2009-06-04 13:24:08

回答

0

如果你不是已經在做類似的事情,確保你重用你的服務/回收在基類exising通道,像這樣的代碼:

Protected ReadOnly Property MyService() As MyServiceClient 
    Get 
     ' Initialise My Service and return it 
     If m_objMyService Is Nothing OrElse m_objMyService.State = CommunicationState.Closed OrElse m_objMyService.State = CommunicationState.Faulted Then 
      m_objMyService = MethodToGetServiceClient(Of MyServiceClient, MyService)() 
     End If 
     Return m_objMyService 
    End Get 
End Property 
+0

並且確保在您不再需要它們時關閉並處理通道代理 – 2009-06-04 13:35:13

相關問題