Warum kommt meine InnerException nicht zum Client?

8

Ich habe den folgenden Code auf dem Server:

%Vor%

Dies erstellt eine neue DomainException mit der Eigenschaft InnerException . Ich habe überprüft, dass dies im Debugger festgelegt ist.

Die benutzerdefinierte Ausnahme ist folgendermaßen definiert:

%Vor%

Dies soll eine sinnvolle Fehlermeldung an den Client zurückgeben, damit dem Benutzer gesagt werden kann, dass zu viele Zeilen vorhanden sind. Also, in der Lade-Komplett-Handler möchten wir haben:

%Vor%

Leider ist die Eigenschaft InnerException null . Also müssen wir nur den Text der äußeren Ausnahmebedingungsnachricht überprüfen, die nicht korrekt auf den Client übertragen wird.

Es wurde vorgeschlagen, dass ich brauche:

%Vor%

in der Web-Konfigurationsdatei. Ich habe das versucht und es funktioniert nicht.

Es wurde auch vorgeschlagen, dass ich brauche:

%Vor%

im Datenvertrag. Jetzt, wenn ich das nicht an die falsche Stelle gesetzt habe, funktioniert das auch nicht.

Ich habe auch versucht, [Serializable] zur benutzerdefinierten Ausnahme hinzuzufügen und sie durch die allgemeine Exception zu ersetzen. Beides funktionierte nicht.

Warum ist die InnerException -Eigenschaft null? Was vermisse ich?

    
ChrisF 28.01.2013, 14:00
quelle

1 Antwort

0

Ich nehme an, du solltest

verwenden

[FaultContract(typeof(OverMaxRowLimitException))]

für Ihren Betriebsvertrag dafür. Und Ihr OverMaxRowLimitException sollte serialisierbar sein.

Auch in der Verwendung, nehme ich an, dass die Verwendung der Option

die richtige Methode ist, um die Ausnahme auszulösen

throw new FaultException<OverMaxRowLimitException>(yourException);

    
Flowerking 28.01.2013 14:07
quelle