这与从同一个域加载 SWF无关。
有一个小的 SWF 文件应该从SharedObject
. 它驻留在专用域中(我们称之为域 A)。
有几个应用程序需要以共享方式访问上述数据(即来自不同域(B、C、D、...)的所有应用程序。当然,SharedObject
在应用程序中使用 from 是不行的,因为SharedObject
是每个域。
- 从域 BI 中的应用程序正在从域 A 加载策略文件。策略文件允许通过“*”和域“B”的所有域。
- 我
allowDomain("A")
在应用程序中允许域 A via - 我允许通过数据处理 SWF 中的域 B
allowDomain("B")
- 我正在像这样添加loaderContext
new LoaderContext(true, new ApplicationDomain(), SecurityDomain.currentDomain);
:我明确需要加载的 SWF 来保留它自己的域“A”上下文,以便SharedObject
将写入“A”命名空间而不是托管应用程序的命名空间(“B”),因此“new ApplicationDomain()
”
数据处理 SWF 使用SWFLoader
.
如果我理解正确,以上所有内容都应该能够访问加载的 SWF 的类成员。正如您现在可能已经猜到的那样,它并没有真正起作用。当我尝试将 SWFLoader 的内容转换为 SWF 的文档类时,这是null
由于安全问题(我尝试加载ApplicationDomain.currentDomain
并且效果很好,所以我知道类是相同的,但这不是我需要的)
我错过了什么?或者是否有更好的解决方案在不同域的应用程序之间本地共享数据?