У моего класса модели модели есть метод (не уверен, что это хорошая практика, или если модели представления должны быть строго свойствами и механизмами изменения свойств), которые соединяются с сервисом. Конечно, я хочу обрабатывать любые возможные исключения 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
}
она считается хорошей практикой, может вызвать System.Windows.MessageBox.Show() непосредственно в улове или я должен возможно Rethrow исключение, чтобы другой слой моего приложения WPF ловит ? Если да, то где это идеальное место, чтобы поймать такое исключение?
Что именно пользователь должен делать с этим исключением? Вы должны сообщить пользователю все, что ему нужно, чтобы правильно «обработать» это исключение. Если пользователь ничего не может с этим поделать, тогда не говорите пользователю ничего исключающего, может быть, «Извините, но что-то не так». –
@John, пользователю не нужно спасать мир. Мне просто нужно представить пользователю, что удаленный конец недоступен. Вот почему я упоминаю MessageBox. Этот вопрос не касается того, что я должен сказать пользователю, я хочу знать, как элегантно разбираться с исключениями в шаблоне, который я использую. – jlafay
Я обрабатываю ошибки WCF таким образом: [MSDN] (http://msdn.microsoft.com/en-us/library/dd470096%28VS.96%29.aspx) – Gabe