Ausnahmebehandlung mit WCF Data Services

8

Ich möchte Ausnahmen / Fehler anpassen, die von meinem WCF-Datenservice ausgegeben werden, damit Clients so viel wie möglich Informationen darüber erhalten, was genau fehlgeschlagen ist / was fehlt. Irgendwelche Gedanken darüber, wie das erreicht werden könnte?

    
Martinfy 17.08.2010, 10:58
quelle

4 Antworten

10

Es gibt einige Dinge, die Sie tun müssen, um sicherzustellen, dass Ausnahmen über die HTTP-Pipe zum Client gelangen.

  1. Sie müssen Ihrer DataService-Klasse Folgendes zuweisen:

    [ServiceBehavior (IncludeExceptionDetailInFaults = true)] Öffentliche Klasse MyDataService: DataService

  2. Sie müssen ausführliche Fehler in der Konfiguration aktivieren:

    public static void InitializeService (Konfiguration der DataServiceConfiguration)  {      config.UseVerboseErrors = true;  }

Am besten werfen Sie DataServiceException in das Verzeichnis. Die WCF-Data-Service-Laufzeitumgebung weiß, wie die Eigenschaften der HTTP-Antwort zugeordnet werden, und sie wird immer in eine TargetInvocationException .

%Vor%

Sie können dies dann für den Client-Consumer entpacken, indem Sie die HandleException in Ihrem DataService wie folgt überschreiben:

%Vor%

Siehe hier für mehr Info ...

    
jaimie 19.10.2011 10:37
quelle
3

Sie können Ihre Serviceklasse mit diesem Attribut ServiceBehaviorAttribute wie folgt dekorieren:

%Vor%     
Attilah 02.04.2011 15:23
quelle
0

Sie müssen dafür benutzerdefinierte Ausnahmen erstellen. Bitte lesen Sie diesen Beitrag hier: Warum benutzerdefinierte Ausnahmen erstellen?

In welcher Sprache entwickeln Sie?

Wenn Sie weitere Anleitungen benötigen, fügen Sie bitte einige Kommentare hinzu.

    
Julius A 17.08.2010 11:04
quelle
0

Ich glaube nicht, dass er wissen will, wie man Exceptions in .NET löst / abfängt.

Er möchte wahrscheinlich darüber nachdenken, wie er den Clients, die einen WCF-Datenservice in Anspruch nehmen, mitteilen kann, dass etwas (und was) schief gelaufen ist, wenn eine Ausnahme auf der Server- (Service-) Seite ausgelöst / abgefangen wird.

WCF Data Services verwendet HTTP-Anforderungs- / Antwortnachrichten und Sie können nicht einfach eine Ausnahme vom Dienst an den Client übergeben.

    
Skovly 17.08.2010 11:15
quelle