关于导入swf时安全域与应用域的问题
来源:互联网 发布:linux run sh 编辑:程序博客网 时间:2024/06/09 16:36
比如:
_classLoader.load(new URLRequest(swfName));
如果此时swfName类似一个http://ip:port/xxxx/swfName.swf的名字,那么此时你的应用与这个swf文件是处于两个不同的安全域,此时,当导入成功后,假设在swfName.swf中你有一个类org.example.Test类,那么你可以通过_classLoader.contentLoaderInfo.applicationDomain.getDefinition("org.example.Test")得到该类,但是如果涉及到一些类的定义时,比如你需要调用getDefinitionByName(Test类的实例)时,此时会报Variable Test is not defined,或者你使用flexOrm直接保存Test对象时,此时会报SQLError: 'Error #3115: SQL Error.', details:'', operation:'begin'错误。原因是Test类的应用域与当前应用域不是同一个域,就导致了当前域中找不到Test类,而flexOrm里面的元数据标签Table,Column等标签是与这个的设计信息相关的,此时flexOrm就找不到Test类的定义信息,数据自然保存不进去,所以如果只是对Test类的直接操作就没问题,如果操作一些涉及到类的定义信息时就会有问题。那么如何解决呢 ,经过一下午的测试,发现只要把导入进来的swfName.swf的应用域设置为当前的应用域就可解决了。
此时只需要在 _classLoader.load(new URLRequest(swfName));该为: var ldrC:LoaderContext = new LoaderContext(false,ApplicationDomain.currentDomain); _classLoader.load(new URLRequest(swfName),ldrC); 注意:ApplicationDomain.currentDomain 这句不能换成new ApplicationDomain(ApplicationDomain.currentDomain), 这样写仍然是两个不同的应用域。这样就能保证万无一失了。
- 关于导入swf时安全域与应用域的问题
- 关于利用Tocmat安全域实现安全认证的问题
- flash的安全沙箱---安全域与程序域
- 安全域的划分
- TOMCAT的安全域(一)
- ActionScript3.0的安全域和应用程序域
- 学习笔记----Tomcat 的WEB 安全域
- Tomcat的4种安全域
- 深入理解Flash Player的安全域
- Flash编程中的域、安全域、应用域和安全沙箱等
- 谈大型信息系统的安全域划分与等级保护建设
- 关于导入安卓Studio第三方lib的问题
- 主swf与被加载swf的通信问题
- 主swf与被加载swf的通信问题
- 关于网页中缓存swf的问题
- TOMCAT安全域
- tomcat安全域设置
- JBOSS安全域
- 计算几何 模板
- 八种常见的防盗链方法总结及分析
- 最短路径-Dijkstra
- vilast
- 怎样给flash文件中的图片和文字插入超链接?
- 关于导入swf时安全域与应用域的问题
- 在Fedora 14上安装Sun JDK 6
- 如何在Linux系统下检测U盘是否已连接
- mysql+vs2008 中文乱码问题解决方案
- Android四种Activity的加载模式
- 堆和栈的区别(转过无数次的文章)
- sealy 项目中BOOT ROM 遇到的问题
- “教你如何刷Q币” 不要上当受骗
- 用菊子发博文好用