WCF 프로젝트에서 클라이언트 프록시를 얻기 위해 singleton pattern
을 사용하고 있습니다.Singleton에 IDisposable을 구현하는 것이 맞습니까
는 기본적으로 최소한의 변경을 요구, Binding
또는 Endpoint
를 추가 클라이언트 객체에, 나중에 필요
- 모든 향상된 기능을 because-.
- 동시에 여러 서비스를 호출하지 않습니다. 이 싱글
Design-Pattern
원칙을 위반 하는가public class ClientSingleton : IDisposable { static Service1Client client; private ClientSingleton() { client = new Service1Client(); } public Service1Client getInstance() { if (client != null) return client; else { client = new Service1Client(); return client; } } public void Dispose() { client.Close(); } }
-
는 확인 connection is closed
제대로 각 서비스의 호출 후에, 우리는 아래와 같이 싱글에서 IDisposable
을 구현하기 위해 계획하고 만들려면? 이를 개선하기위한 조언이 도움이 될 것입니다.
편집 :
아래로 클라이언트 개체를 처리하는 using block
을 고려 - WCF 프록시가 IDisposable
인터페이스를 구현하는 의미
using (Service1Client client = new Service1Client())
{
client.Operation1();
}
. 그래서 여기서이 인터페이스를 구현하는데 아무런 해가되지 않습니다.
감사합니다.
내가 잘못 될 수 있지만, 난 당신이/새 연결을 만들 당신이 참조하려고 것 같다 연결을 닫는 대신 원래 –
따라서는 IDisposable의 구현이 폐쇄 표시되지 않는 이유는 무엇입니까? –
@TonyHopkinson 여기에 코드를 추가했습니다. – Abhijeet