2012-08-16 3 views
0

우리가 클라이언트 응용 프로그램에서 다음과 같은 클래스가 말 :WCF 서비스 - wcf 클라이언트/채널이 명시 적으로 닫히지 않으면 어떻게됩니까?

public class TestClass 
{ 
    public void CallWCFService() 
    { 
     WCFClient svcClient = new WCFClient("endpointName"); 

     var x = svcClient.GetFoo(); 

     // no Close() or Abort() method here...  
    } 
} 

내가 다른 클래스에서 TestClass의 인스턴스를 생성하고,이 CallWCFService() 메소드의 호출하면 어떻게됩니까?

가비지 수집이 svcClient를 처리합니까?

결국 svcClient가 결국 어떻게 든 죽을 때까지 서비스 호스트에 사용할 수없는 채널이 있음을 의미합니까?

답변

0

예까지 세션 (있는 경우) 당신이 당신의 서비스가

+0

가비지 컬렉션에 네 채널을 폐쇄하는 것이 보통 큰 문제가 구동되도록 구성되는 방법에 따라 보류중인 연결이됩니다 시간 제한에 도달 또는 클라이언트 채널이 죽을 때까지 사용할 수없는 채널이있는 서비스에 예? – IWriteApps

+0

둘 모두에 대해 예입니다. 세션이있는 경우 가비지 수집기가 프록시를 처리하지만 세션이 시간 초과되면 서비스에 하나의 연결이 있고 사용할 수 없습니다. – MaRuf