Flex深度解析:ShareObject的LSO与RSO应用

5星 · 超过95%的资源 需积分: 10 6 下载量 80 浏览量 更新于2024-09-28 收藏 54KB DOC 举报
"这篇资源详细介绍了ShareObject对象在FLEX中的应用,主要分为LSO(本地共享对象)和RSO(远程共享对象)两个部分,分别通过实例代码展示了它们的创建、存储、读取和清除操作。LSO类似于Cookie,而RSO与JSP中的Application对象类似但更强大,用于实现多客户端间的服务器端数据共享。" ShareObject是Adobe Flex中的一种数据存储机制,它允许开发者在客户端和服务器端之间共享数据。这个对象的出现是为了弥补传统HTTP协议在状态保持方面的不足,提供了一种更为灵活和高效的数据交互方式。 1. LSO(Local Shared Object): LSO,本地共享对象,是存储在用户本地硬盘上的数据,类似于浏览器的Cookie。LSO的最大优势在于它可以存储比Cookie更大的数据量,并且在用户关闭浏览器后仍然保留。以下是如何使用LSO的步骤: - 获取LSO对象:`var so:SharedObject = SharedObject.getLocal("mydata", "/");` - 存储数据:创建一个对象并赋值,然后将其存储在LSO的data属性中,如`so.data.user = user;` - 清除数据:检查LSO对象是否存在,如果存在则将数据设为null,如`so.data.user = null;` - 读取数据:同样通过`so.data.user`来访问存储的数据 2. RSO(Remote Shared Object): RSO,远程共享对象,是存储在服务器端的对象,可以被多个客户端共享,类似于Java Servlet中的Session或JSP的Application对象。RSO允许开发者在多个用户之间同步数据,特别适用于实时性要求较高的应用场景。 - 创建RSO:与获取LSO类似,但需指定服务器路径,如`var so:SharedObject = SharedObject.getRemote("mydata", "http://yourserver.com");` - 数据同步:RSO的数据更改会自动同步到服务器和其他客户端,无需手动触发 - 使用RSO进行服务器端数据共享的例子未在描述中给出,通常涉及服务器端脚本(如Flash Media Server)的配合处理。 需要注意的是,由于LSO和RSO都涉及到数据存储,因此在使用时必须考虑到用户隐私和安全问题,确保正确处理敏感信息,并尊重用户的隐私设置。此外,RSO的使用还受限于服务器端支持,例如需要Flash Media Server等环境。 ShareObject在Flex开发中扮演着关键角色,为Web应用程序提供了更强大的状态管理和数据交换能力,尤其适用于需要持久化存储和多客户端同步的场景。
2017-10-13 上传
注意事项: 1、主进程传入的对象或变量不管是不是ref线程内操作传入的引用都会影响主进程的对象或变量,且对象只能是nonvisualobject类型的。 2、基础变量如long等等都不能传引用ref会运行会报错 3、SharedObjectUnregister只是把SharedObjectDirectory中的去掉,实际内存不会释放必须destroy 4、主进程不能直接访问线程中的变量和对象,可以通过处理类私有的办法处理。 5、千万注意释放线程的时候一定要把线程里面的资源释放完,不然百分百卡死。比如一个线程里面有一个timing的计时器,如果不先stop(),直接destroy,百分百卡死。如果连接数据库或者其他接口时千万注意了!!!千万要在uf_stop()(此例子中的释放预留方法)里面把所有的资源都释放干净,资源都释放干净,源都释放干净,都释放干净,释放干净,放干净,干净,净…… 大体设计思路: 1、在主进程中建立一个“任务信息类”数组,其中包含“任务线程类”,一个任务对应一个线程。 2、在主进程中建立一个“任务管理类”,负责处理任务信息类。 简单举例: 1、新建1个“任务管理类”,再新建N“任务信息类”,将“任务信息类”赋值完成加入“任务管理类”,并创建一个“任务线程类”,此时线程开始running。 2、“任务线程类”中有一个内部timing类,监控自己是否执行完成,会改标志。“任务管理类”也有一个timing监控“任务信息类”和“任务线程类”的情况,把完成的结束。