在域之间共享as3类

时间:2011-12-06 11:08:58

标签: actionscript-3 security dns sandbox applicationdomain

我在位于 domainA Main.swf 中实例化了一个Singleton类。该文件通过 LoaderMax (http://www.greensock.com/)从 domainB 加载 Game.swf 。当我尝试访问Singleton时,我猜这与 Main.swf 中的on instated相同。

有没有办法强迫这个?

2 个答案:

答案 0 :(得分:1)

如果您的文件加载到同一个应用程序域,它应该是相同的单例。您可以使用LoaderContext来执行此操作。

此外,您可以使用dependency injection框架(如SwiftSuspenders)更优雅地处理此问题,但由于其中大多数都严重依赖describeType,我建议您进行测试如果您需要将内容注入大量游戏对象中,则会出现性能问题。

答案 1 :(得分:0)

这是使用Singleton的许多问题之一(http://misko.hevery.com/2008/11/21/clean-code-talks-global-state-and-singletons/)。我可能会建议您,只需将实例传递给game.swf,并将其实例化为main.swf的责任吗?