2008-12-10 20 views
0

我敢肯定有這個一個簡單的解釋,但我還沒有找到答案了多少運氣,所以我想我應該把這個詞給我的同事,作爲我相信你們之前有一些人遇到過這個問題。部署Flex項目利用導入Web服務

在我的(簡單)的開發環境,我與WCF Web服務,導入到我的FB3項目的少數工作和目標的ASP.NET開發Web服務器的本地實例。一切順利,沒有問題 - 但我現在想知道的是,什麼是正確的方式來部署這個項目來測試,分期和生產環境?如果我的導入的代理都指向http://localhost:1234/service.svc(我們從中導入了它們的WSDL),並且我正在部署的所有代碼都是已編譯的SWF,Flex Builder期望我「管理Web服務>刪除」,「添加」,重新編譯併發布任何時間我想將我的編譯後的Flex項目從開發移植到測試,並進行分期,並最終投入生產?有沒有更簡單的工作流程?

在此先感謝 - 希望我的問題很清楚。

乾杯, 克里斯

回答

0

如果你有這將改變依賴於環境,那麼你可能需要重新編譯爲每個環境,因爲這些將在SWF編譯路徑名。

我通常使用ANT腳本來處理我的編譯/部署過程,從開發和生產環境移動時。這使我能夠在編譯期間動態更改任何路徑名稱。這些構建文件可以集成到Flex Builder中,在完成所有設置後,使這個過程變得非常簡單,只需點擊一下即可完成。

0

謝謝佈雷特。無論如何,我一直都在努力挖掘自己的構建過程,所以現在可能和任何時候一樣好。 :)

0

你並不需要建立爲每個環境的SWF。以下是我常用的技術:

  1. 將您的配置屬性外化爲XML文件;在這種情況下,它可能是爲每種服務URL或您的所有服務使用的基礎URL
  2. 當應用程序啓動時,使HTTPService調用加載XML文件,分析它,並保存您的屬性到一些綁定「配置對象」
  3. 將來自該對象的值與依賴於URL的對象綁定
  4. 調度一個表明您的配置已完成的事件。如果你有某種在你的應用中的一些組件所使用的單事件調度程序,使用,以便於通知是全球
  5. 現在用你的應用程序的初始化其餘

這需要一些時間進行編排您的應用程序,以便某些部分在進行步驟1-5之前不會初始化。不過,我認爲這是一個很好的做法,可以顯式處理大量的初始化,而不是在構造函數或組件的各種初始化或創建完成事件中。當用戶註銷並且不同的用戶登錄時,您可能需要重新初始化;如果您已經將應用設置爲初始化,那麼您可以控制,然而重新初始化不會成爲問題。