Im Moment wickle ich alle meine WCF-Serviceanrufe in den folgenden try/catch-Block ein und frage mich, ob es eine Möglichkeit gibt, dies an einem Ort festzulegen und für alle Serviceanrufe gelten zu lassen.Gibt es eine Möglichkeit, WCF-Serverfehler an einer Stelle auf dem Client zu behandeln?
try
{
Product test = client.GetProductById(1);
}
catch (TimeoutException ex)
{
WPFMessageBox.Show("The service operation timed out." + ex.Message);
}
catch (FaultException<CustomFault> ex)
{
WPFMessageBox.Show("CustomFault:" + ex.ToString());
}
catch (FaultException ex)
{
WPFMessageBox.Show("Unknown Fault:" + ex.ToString());
}
catch (CommunicationException ex)
{
WPFMessageBox.Show("There was a communication problem" + ex.Message +
ex.StackTrace);
}
Danke, das ist schön und einfach. – Rachel
Jan, wie würde dieser Wrapper nach Methoden suchen, die einen oder mehrere Parameter akzeptieren, aber keinen Wert zurückgeben? (z. B. sind void.) (Ex: interne statische void LockoutUser (Zeichenfolge BenutzerID, int timeInSeconds)) – FarrEver
@FarrEver, Exchange Func mit Aktion in der Methode ServiceCallWrapper: 'öffentliche void ServiceCallWrapper (Aktion serviceCallDelegate)' –
Jan