2012-03-23 6 views
0

Ich brauche eine Möglichkeit, IErrorHandlers HandleError-Methode die Daten übergeben, die der Benutzer eingibt.Erstellen Sie eine globale Variable für die Verwendung in einer IErrorHandler-Implementierung

Wenn der Dienst aufgerufen wird Ich möchte eine Sitzungsvariable (oder etwas wie eine Sitzungsvariable) festlegen, füllen Sie es mit Benutzerdaten. Führen Sie dann die Servicemethode aus, wenn ein Fehler vorliegt, der von IErrorHandler erkannt wird. In meiner HandleError-Methode möchte ich in der Lage sein, die Daten aus der "Sitzungsvariablen" zu entfernen und dann die Sitzungsvariable zu entfernen.

Ich konnte eine Möglichkeit einrichten, eine Sitzungsvariable aufzufüllen, aber diese Variable gibt null zurück, wenn ich meine ErrorHandler-Klasse eingab.

Process(Order o) 
{ 
    HttpContext.Current.Session["InputData"] = o; 

Kann jemand mir durch eine Lösung helfen, diese Situation zu behandeln?

Antwort

0

Da all dies in derselben Anfrage geschieht, sollten Sie keine Sitzungsvariable benötigen.

Versuchen Sie, ein nicht statisches Mitglied der Serviceklasse mit den gewünschten Daten zu erstellen. Stellen Sie es am Anfang des Servicevorgangs ein. Wenn der IErrorHandler feststellt, dass der Fehler in diesem Dienst auftritt, sollte er in der Lage sein, den Wert abzurufen.

+0

public class Order: IOrderService {public void setSession (Objektwert) { } öffentliches Objekt getSession() { return null; } –

+0

Auf diese Methoden kann nicht in der ErrorHandler-Klasse zugegriffen werden, die sich im selben Namespace befindet. Ich bin mir nicht sicher warum?? –

+0

Was war der Fehler beim Versuch, auf sie zuzugreifen? –

Verwandte Themen