2010-02-04 34 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