2012-03-29 9 views
1

ich brauche den Fehler zu schreiben:So zeigen Sie Fehlercodes Beispiel für den Dienst wcf an?

Fehlercodes:

101: Syntax Error 
102: id already exists 
103: User already exists 
104: Unsupported id 
105: Server Error, try again or contact administrator 

Bitte sagen Sie mir Probe Rest Wcf-Dienst auf, dass ... Ich bin neu die WCF-Dienste zu schreiben.

Antwort

1

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.

+0

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

+0

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

+0

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

1

eine Klasse bauen (es der Einfachheit halber YourErrorClass nennen hier) mit einer Integer-Eigenschaft (ID) und String-Eigenschaft (Beschreibung)

Dekorieren, dass mit Datacontract

Dann in Ihrem Web-Service selbst, eine FaultException werfen mit den entsprechend ausgegebenen Werten.

Wenn Sie dies tun, stellen Sie sicher, wo Sie sie erfassen, Sie zeigen die Werte für den Benutzer entsprechend an.

+1

Und denken Sie daran, den Service mit [FaultContractAttribute] zu dekorieren – GazTheDestroyer

+0

Alle Proben dafür lassen Sie mich wissen. – user1237131

+0

Folgen Sie diesem - sein Ideal: http://msdn.microsoft.com/en-us/library/ms752208.aspx – Chris

Verwandte Themen