基本觀念
在ASP.NET/Flash 開發應用程式時,必須先確定Flash與ASP.NET彼此之運作方式。Flash於web上運作時,會將complie完成之swf檔案下載至 Client端,由Client端的Flash Player執行該swf應用程式,除非事先於Flash內用ActionScript語法設計與Server端溝通,否則Flash本身是獨立運作於 Client端,此運作方式類似Java Applet模式,Flash應用程式下載完畢之後,執行過程將只對於Client端系統產生負擔,與Server端將會有無通訊狀況的情形。與 Server無通訊狀況下,在ASP.NET環境下使用Flash應用程式時,使用Session方式儲存資訊,可能會造成Session timeout而要求使用者重新登入,因此如果長時間使用Flash來提供使用者介面,如果不需與Server端傳遞訊息下,請定期Touch Server端Reset Session,避免Session timeout的情形發生。
Flash傳遞資料的方式
再使用Flash做為前端UI給Client互動時,必須考慮到需儲存資料回傳至Server端的方式。由於Flash本身是類似離線瀏覽的方式運作且獨立執行於Client端,因此如果有資訊需要存放於Server端時,則必須透過ActionScript將資料傳遞出來。
傳遞資料回Server端的方式可以採用下列方式(當然還有其他的方法,但是我比較喜歡這三種):
而JavaScript的方是主要是可以在Client端與網頁本身互動為主,當然也可以延伸做AJAX的網頁與 Flash之間溝通,不過由於Flash本身就已經具備AJAX特性中,不重新載入整份網頁,僅讀取部分資料作畫面上變更之效果。因此 JavaScript之間的溝通反而是便利於取得HTTP參數與Cookie資訊,來讓Flash做相對應的呈現。
FORM POST/GET則是一般網頁程式最常使用的傳遞方式,在Flash的呼叫上必須注意,不要讓POST/GET讓Flash的畫面有reload的動作,否則flash當時填寫的資料將會消失,此方法可以利用一個沒有顯示的frameset或彈出視窗的方式做處理,否則必須確認flash本身允許資料的流失。
#07/19/07
傳遞資料回Server端的方式可以採用下列方式(當然還有其他的方法,但是我比較喜歡這三種):
- WebService
- JavaScript
- Form POST/GET
而JavaScript的方是主要是可以在Client端與網頁本身互動為主,當然也可以延伸做AJAX的網頁與 Flash之間溝通,不過由於Flash本身就已經具備AJAX特性中,不重新載入整份網頁,僅讀取部分資料作畫面上變更之效果。因此 JavaScript之間的溝通反而是便利於取得HTTP參數與Cookie資訊,來讓Flash做相對應的呈現。
FORM POST/GET則是一般網頁程式最常使用的傳遞方式,在Flash的呼叫上必須注意,不要讓POST/GET讓Flash的畫面有reload的動作,否則flash當時填寫的資料將會消失,此方法可以利用一個沒有顯示的frameset或彈出視窗的方式做處理,否則必須確認flash本身允許資料的流失。
#07/19/07
沒有留言:
張貼留言