2010-02-04 37 views
1

剂量有人知道为什么我必须在我的Flex Builder中使用-use-network = false?!?!?!为什么-use-network = false

这是在项目属性中设置的,并且是附加的编译器参数。

这只是当我想读取像XML这样的外部文件时。

其他人在我的团队中不必具有-use-network = false?

+1

我们有时(由Flash Player内创建一个投影仪)创建将从一个U盘启动Flex应用程序它将XML文件加载到与应用程序相同的目录中。这将是本地访问,这会引发沙盒安全错误。为了让您的应用程序访问本地文件并测试它的行为,-use-network = false非常方便。 – MysticEarth 2010-02-05 08:55:32

回答

2

如果你的团队中的其他成员没有使用-use网络= false,那么他们可能有全局信任permisions成立。出于良好的安全原因,您无法通常使用Flash文件访问本地文件。虽然您需要能够本地访问文件,但在开发过程中。要做到这一点,您有两种选择:

  1. -use-network = false取消信任,但部署时必须将其还原;
  2. 设置全局权限,以便您的开发文件夹中,这些规则并不适用:see this post for details
2

网络访问和本地文件访问在Flash/Flex中是互斥的。该documentation为使用网络编译器选项最好地解释它:

use-network属性设置为false,应用程序可以访问本地文件系统(例如,使用XML.load()方法的文件:网址)而不是网络服务。在大多数情况下,这个属性的值应该是真实的。请参阅Applying Flex Security

+0

我明白了。但是,将应用程序部署到远程服务器上后,我的应用程序会工作吗? – dejaninic 2010-02-05 13:21:12

+0

当它在远程系统上时,将use-network设置为true将意味着它可以访问用户的机器,但不能访问其托管的服务器上的任何文件。 – 2010-02-05 13:44:57