Meine Flex-App verwendet lokale SharedObjects. Es gab Fälle, in denen der Flash-Cookie aufgrund eines Absturzes des Plugins beschädigt wurde. In diesem Fall löst SharedObjects.getLocal eine Ausnahme aus (# 2006).Flex: Wiederherstellung von einem beschädigten lokalen SharedObject
Mein Client möchte, dass die App ordnungsgemäß wiederhergestellt wird: Wenn das Cookie beschädigt ist, sollte ich es durch ein leeres ersetzen.
Das Problem ist, wenn SharedObject.getLocal keine Instanz von SharedObject zurückgibt, habe ich nichts, um clear() anzurufen.
Wie kann ich einen solchen Cookie löschen oder ersetzen?
Vielen Dank!
EDIT:
Es gibt nicht viel Code zu erhalten - ich das lokale Cookie zugreifen, und ich kann einfach die Ausnahme abfangen. Aber wie kann ich ein neues gemeinsames Objekt am gleichen Ort erstellen, nachdem ich die Ausnahme abgefangen habe?
Der Fehler wird leicht reproduziert, indem der binäre Inhalt eines Flash-Cookies mit einem Editor beschädigt wird.
+1 für die Frage; aber ich habe keine Ahnung, was die Lösung ist. Was macht Ihre App, dass Plugin-Abstürze alltäglich sind? Kannst du Code teilen? Können Sie die vollständige Ausnahme teilen? Ich frage mich, ob Sie ein uncaughtException-Ereignis verwenden könnten, um ein brandneues SharedObject zu erstellen? – JeffryHouser
Die App ist ein Frontend zur Überwachung und Analyse von Geschäftsdaten für die interne Nutzung eines Unternehmens. Abstürze sind nicht wirklich alltäglich, aber es gab einen Bericht über ein korruptes Cookie nach einem Windows - Absturz, und da die Benutzer nicht technisch genug sind, um ihre Flash - Cookies zu bereinigen, hat der Client eine Anfrage für ein Feature (dh ich bekomme mehr Geld, wenn ich es tue), dass die App es für sie tut, wenn sich der Vorfall wiederholt. Ich werde den Code in den ursprünglichen Kommentar einfügen. –
@ThomasHeywood hast du dieses Problem irgendwie gelöst? Ich sehe hier keine gute Antwort:/ –