IServce1.cs
[ServiceConstract]
public interface IService1
{
[OperationContract]
string GetErrorCode(int er);
}
Service1.svc.cs
public class Service1:IService1
{
public string GetErrorCode(int er)
{
string description;
switch(er)
{
case 101: description="Syntax Error"; break;
case 102: description="ID already exists"; break;
case 103: description="User already exists"; break;
case 104: description="Unsupported ID"; break;
case 105: description="Server Error, try again or contact administrator"; break;
default: //Write whatever you want to throw to user.
}
return description;
}
}
Verwenden Sie diese in Ihrer Client-Anwendung mit einem anderen Verfahren, wo immer Sie vermuten, die Fehler wird auftreten ur in einem try/catch-Block, aber vorher erstellen Sie Ihre eigene benutzerdefinierte Ausnahme und verknüpfen Sie jeden Code damit oder auch Sie können diese in einer Datenbanktabelle speichern und dann mit einer ID den entsprechenden Fehler mit dem Code von dort werfen.
Wie man alle diese im Code überprüft, wenn alle zutreffend sind, müssen das result.any einfaches Beispiel für kundenspezifischen Fehler anzeigen Handhabung ....... – user1237131
Betrachten Sie die Fälle als durchfallen statt durchbrechen. Und wenn Sie die benutzerdefinierte - {neue Ausnahme auslösen} für jeden dieser Codes schreiben, dann würden Sie nur einen Code für jede Ausnahme zuweisen. Wenn alle geworfen werden, wird es immer die 'Beschreibung' werfen es trifft auf die Ausnahme. – Milee
Um es besser aussehen zu lassen, sollten Sie auch alle diese Ausnahmen in eine separate Klasse schreiben und den Schalterfall in dieser Klasse verwenden, damit der Code, in dem Sie try/catch verwenden, nicht verwechselt wird :) – Milee