我的Flex应用程序使用本地SharedObjects。例如,由于插件崩溃,Flash cookie发生了一些事件。在这种情况下,SharedObjects.getLocal将引发异常(#2006)。Flex:从损坏的本地SharedObject中恢复
我的客户希望应用程序正常恢复:如果Cookie损坏,我应该用空的替换它。
问题是,如果SharedObject.getLocal没有返回SharedObject的实例,我没有什么可以调用clear()。
如何删除或替换此类cookie?
非常感谢!
编辑:
没有太多的代码显示 - 我访问本地的cookie,我可以轻松地捕获该异常。但是,一旦我发现异常,我怎样才能在同一位置创建一个新的共享对象?
try {
localStorage = SharedObject.getLocal("heywoodsApp");
} catch (err:Error) {
// what do I do here?
}
错误很容易通过用编辑器损坏Flash cookie的二进制内容来重现。
+1的问题;但我不知道解决方案是什么。什么是你的应用程序做插件崩溃是司空见惯的?你能分享代码吗?你能分享完整的例外吗?我想知道是否可以使用uncaughtException事件来创建一个全新的SharedObject? – JeffryHouser 2012-03-29 13:42:37
该应用程序是监控和分析公司内部使用的业务数据的前端。崩溃并不是很普遍,但是在Windows崩溃之后有一个损坏的cookie的报告,并且由于用户在技术上不够精通,无法清理他们的Flash cookies,所以客户已经提出了对功能的请求(即I如果我这样做,可以获得更多的钱),如果事件重复,应用会为他们做这件事。我将把代码放在原始评论中。 – 2012-03-29 14:24:19
@ThomasHeywood你有没有解决这个问题?我在这里没有看到任何好的答案:/ – 2014-06-20 07:36:47