문제

그만큼 Close 에 대한 방법 ICommunicationObject MSDN 개요에 따라 두 가지 유형의 예외가 발생할 수 있습니다. 여기.나는 그 이유를 이해한다. Close 메서드는 이러한 예외를 발생시킬 수 있지만 내가 이해하지 못하는 것은 왜 Dispose 서비스 프록시의 메소드는 Close 없는 방법 try 그 주위에.당신의 것이 아닌가? Dispose 어떤 예외도 발생하지 않도록 원하는 한 곳을 찾으시겠습니까?

도움이 되었습니까?

해결책

이는 .NET 코드의 일반적인 디자인 패턴인 것 같습니다.다음은 인용문입니다. 프레임워크 디자인 지침

닫기가 해당 영역의 표준 용어인 경우 Dispose() 외에도 Close() 메서드를 제공하는 것이 좋습니다.그렇게 할 때 Close 구현을 Dispose와 동일하게 만드는 것이 중요합니다.

여기에는 블로그 게시물 이 System.ServiceModel.ClientBase 디자인 문제에 대한 해결 방법을 찾을 수 있습니다.

다른 팁

예, 일반적으로 Dispose는 예외가 발생하지 않도록 하려는 장소 중 하나입니다.그러나 이 MSDN을 기반으로 포럼 스레드 이 동작에는 몇 가지 역사적 이유가 있었습니다.따라서 권장되는 패턴은 try{Close}/catch{Abort} 패러다임입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top