加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex共享对象ShareObject在win7系统本地保存路径

发布时间:2020-12-15 00:59:56 所属栏目:百科 来源:网络整理
导读:在本地,创建的文件可以在 C:Users{你的用户名}AppDataRoamingMacromediaFlash Player#SharedObjectsHT6EGZ4Y#localhost 找到,它是以sol为后辍的文件保存。 ? ShareObjec介绍 出于安全性能的考虑,flash player客户端程序不能够访问本地数据。但

在本地,创建的文件可以在

C:Users{你的用户名}AppDataRoamingMacromediaFlash Player#SharedObjectsHT6EGZ4Y#localhost

找到,它是以sol为后辍的文件保存。

?

ShareObjec介绍

出于安全性能的考虑,flash player客户端程序不能够访问本地数据。但也有一种解决方法,就是使用SharedObject 。

haredObject类用于在用户计算机或服务器上读取或储存一定大小的数据。SharedObject对象为常驻在本地计算机或远程服务器上的多个客户端SWF文件或对象提供实时数据共享。本地共享对象类似于浏览器的cookie,远程数据共享对象类似于实时数据传送设备。要使用远程共享对象,需要用到Adobe Flash Media Server。

使用共享对象可以用于以下用途:

1 维持本地持久化

这是最简单的用途,不需要Media Server,可通过调用SharedObject.getLocal("fileName"),创建一个本地共享对象,用于在本地存储共享数据。其中fileName为没有扩展名的共享文件名,共享文件的后缀统一为.sol,保存在默认路径下。

2 在Flash Media Server储存或共享数据

共享对象可以保存在服务器上供其他客户端检索。通过调用SharedObject.getRemote()创建一个远程共享对象。某个客户端无论何时修改共享对象,其他连接到server上的client可以使用修改后的数据。如果对象在本地也持久的,客户端改变了数据但是没有连接到服务器上,那么当客户端下一次连接远程共享对象时,数据就会拷贝到该对象

3 运行时共享数据

共享对象可以在运行时在多个客户端共享数据。例如,你打开了一个存储着连接到某个聊天室的用户列表的远程共享对象,连接到该对象的所有客户端都能够看到该列表。当用户进入或退出聊天室时,对象被更新,所有连接到给对象的客户端能看到修改后的聊天用户列表。

当应用程序关闭时,将会刷新共享对象或将其写入磁盘。也可以调用 flush() 方法以显式地将数据写入磁盘。

?

4 关于SharedObject类
使用SharedObject类,你可以创建和删除共享对象。SharedObject类主要包含下列属性和方法:
属性???????????????? 描述
data?????????? 描述了共享对象保存的属性集合的只读属性
onStatus?????? 共享对象的事件处理器
方法???????????????? 描述
clear()??????? 删除SharedObject中的所有数据,并且从磁盘中删除SharedObject的所有属性。
flush()??????? 立即向客户端写入SharedObject
getLocal()???? 返回客户端域定义的本地共享对象的引用。如果不存在共享对象,这个方法将创建一个新的共享对象。
getSize()????? 获得共享对象文件的大小。默认上线是100k,如果客户端允许,还可以更大。


5 共享对象与Cookie:
共享对象功能就像浏览器的cookie。你可以使用SharedObject类来在用户的本地磁盘上保存数据,并且在当前的会话或之后的会话中调用那些数据。
程序祝你能访问它们自己的SharedObject数据,并且只能在他们欲行在相同的域的时候可以。
这些数据不会被发送到服务器,并且不能被运行在其他域下的Flex曾需访问,但是可以来自同一域中的Flex程序访问。
比较共享对象与Cookie
Cookie和共享对象都非常简单。因为大多数web程序员都很熟悉cookie的工作原理,这有助于对比cookie和本地共享对象。
Cookie遵循RFC 2109标准生成,并且拥有下列属性:
它们可以过期,通常默认在会话结束时过期;
它们可以被禁用;
最多可以有300个Cookie,并且每个站点最多可以有20个cookie;
每个Cookie通常被限制在4k大小;
某些情况下,它们会被认为是安全隐患,因而在客户端被禁用;
它们存储在由客户端浏览器指定的位置;
它们通过HTTP协议从客户端传递到服务器。
作为比照,共享对象有如下属性:
默认情况下不会过期;
默认情况下,它们被限定在每个100K大小;
它们可以保存简单数据类型(例如String,Array和Date);
它们被保存在由程序定义的位置(在用户的主目录下);
它们永远不会从客户端传递到服务器。

?

SOL文件

ShareObject将文件保存为sol文件格式,在windows系统下,保存位置为C:/Documents and Settings/{user}/Application Data/Macromedia/Flash Player/#SharedObjects/{randomly named directory}/{path to the swf on the domain}。{randomly named directory} 随即生成一个目录,能够增加客户端网络的安全性。{path to the swf on the domain}是使用ShareObject的文件的目录,如本次测试的#localhost/FoodControl/flex_bin/modules/TemporaryCheck.swf/setting.sol,应用程序在TemporaryCheck.mxml文件中使用了ShareObject。前面围TemporaryCheck.swf文件的地址

文件大小

ShareObject能够保存的数据大小是有限制的,一般默认为100k。当用户要保存的数据超过了这个限制后,player会弹出修改文件限制的窗口。要改变可存数据的大小,可有以下几种方法:

1 在保存数据时。调用flush()函数保存数据时,可提供一个参数,指定文件大小。

2 系统弹出提示窗口,选择接受或拒绝修改

3 在应用程序的任何地方,点击右键,选择“设置”,可以对若干个参数进行修改

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读