Wenn unsere (Out Of Browser) Silverlight-Anwendung vom Benutzer heruntergefahren wird, erhalten wir manchmal eine AccessViolationException, wenn Sie versuchen, in eine Protokolldatei (in einem separaten Thread) zu schreiben. Es scheint, dass die Silverlight-Laufzeitumgebung heruntergefahren wird und keine IO-Vorgänge während der Abschaltsequenz erwartet werden.Wie kann ich eine AccessViolationException in Silverlight abfangen?
Der Versuch, AccessViolationException abzufangen und zu ignorieren, scheint nicht zu funktionieren, selbst wenn die Methode mit den HandleProcessCorruptedStateExceptions versehen ist, die erforderlich sind, um diese und andere Ausnahmen abzufangen, die wirklich unangenehme Fehler darstellen.
Gibt es eine noch leistungsfähigere Möglichkeit, eine Ausnahme abzufangen oder zumindest vor dem Benutzer zu verbergen?
Sie können nicht mit AV umgehen, der Thread ist tot. Beheben Sie das eigentliche Problem. –
@Hans, das "wahre Problem" ist Silverlight. Ich bin mir nicht sicher, was es beim Herunterfahren macht, aber was auch immer es ist - es sollte keine unangenehme Ausnahme machen. – SoftMemes
bitte können sie ihren code posten, der die protokollierung durchführt? Es sieht so aus, als ob Sie versuchen, das Protokoll zu einer Datei hinzuzufügen, die bereits zum Schreiben geöffnet wurde. –