Meine Ansicht Modellklasse hat eine Methode (nicht sicher, ob das eine gute Übung ist oder ob Ansichtsmodelle streng die Mechanismen zum Ändern von Eigenschaften und Eigenschaften sein sollen), die sich mit einem Dienst verbinden. Natürlich möchte ich alle möglichen WCF-Ausnahmen beim Verbinden oder Trennen behandeln.Wo bekomme ich Ausnahmen in MVVM?
Verwenden wir den Endpunkt nicht als Beispiel, da dies eine Ausnahme ist, die ich dem Benutzer zeigen möchte. Betrachten Sie das grobe Codebeispiel:
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
}
Ist es als gute Praxis vielleicht berufen System.Windows.MessageBox.Show() direkt im Fang oder sollte ich vielleicht rethrow die Ausnahme so eine weitere Schicht aus meiner WPF-Anwendung fängt es ? Wenn ja, wo ist der ideale Ort, um eine solche Ausnahme zu bekommen?
Was genau soll der Benutzer mit dieser Ausnahme machen? Sie sollten dem Benutzer alles sagen, was er benötigt, um diese Ausnahme korrekt zu behandeln. Wenn es nichts gibt, was der Benutzer dagegen tun kann, dann erzähle dem Benutzer keine Ausnahme, vielleicht "Sorry, aber etwas stimmt nicht". –
@John, der Benutzer muss nicht die Welt retten. Ich muss dem Benutzer nur zeigen, dass das entfernte Ende nicht verfügbar ist. Deshalb erwähne ich eine MessageBox. Diese Frage betrifft nicht, was ich dem Benutzer sagen soll, ich möchte wissen, wie ich elegant mit Ausnahmen in dem Muster umgehen kann, das ich benutze. – jlafay
Ich handhabe WCF-Fehler auf diese Weise: [MSDN] (http://msdn.microsoft.com/en-us/library/dd470096%28VS.96%29.aspx) – Gabe