내 뷰 모델 클래스에는 서비스에 연결하는 메서드가 있습니다 (모범 사례인지 확실하지 않거나 뷰 모델이 엄격하게 속성 및 속성 변경 메커니즘으로 간주되는 경우). 물론 연결하거나 연결을 끊을 때 발생할 수있는 WCF 예외를 처리하고 싶습니다.MVVM에서 어디에서 예외를 잡을 수 있습니까?
예를 들어 사용자가주의를 끌기를 원한다는 점을 고려하여 예를 들어 설명하지 않는 엔드 포인트를 사용합시다.
public void Connect()
{
ServiceClient proxy = null;
try
{
proxy = new ServiceClient();
proxy.Subscribe();
// ...
}
catch(EndpointNotFoundException)
{
// should I do something here?
}
// .. other WCF related exception catches and a finally
}
는 내가 예외가 나의 WPF 응용 프로그램의 또 다른 층을 잡는다 어쩌면 다시 throw 어쩌면 캐치에서 직접) System.Windows.MessageBox.Show를 (호출하는 좋은 습관을 고려하거나해야인가 : 거친 코드 예제를 고려 ? 그렇다면 그러한 예외를 잡을 수있는 이상적인 곳은 어디입니까?
사용자가이 예외에 대해 정확히 무엇을 의미합니까? 이 예외를 올바르게 "처리"하기 위해 사용자에게 필요한 것을 알려 주어야합니다. 사용자가 아무 것도 할 수 없다면 사용자에게 예외를 말하지 마십시오. "미안하지만 뭔가 잘못되었습니다". –
@ 존, 사용자는 세상을 구할 필요가 없습니다. 먼 쪽 끝을 사용할 수 없다는 것을 사용자에게 보여줘야합니다. 그것이 내가 MessageBox를 언급하는 이유입니다. 이 질문은 내가 사용자에게 무엇을 말해야하는지에 관한 것이 아니라, 내가 사용하고있는 패턴에서 예외를 우아하게 처리하는 방법을 알고 싶다. – jlafay
이 방식으로 WCF 오류를 처리합니다. [MSDN] (http://msdn.microsoft.com/en-us/library/dd470096%28VS.96%29.aspx) – Gabe