讓我首先說我是新手開發人員,所以請原諒我的問題的基本性質。最佳實踐服務器端腳本或Web服務
我目前工作的一個Flex應用程序,和我越來越感到困惑時使用服務器端腳本,並在開發Web服務。對於我正在處理的大部分功能,我從用戶(客戶端)獲取各種文件,上傳到服務器進行處理/轉換,然後以新格式發送回客戶端。
我完成這個最使用asp.net通用處理程序(ASHX)文件,但不是很自信,這是最好的做法。但與此同時,Web服務是否更有意義?什麼會被認爲是最佳做法?任何建議將不勝感激。
讓我首先說我是新手開發人員,所以請原諒我的問題的基本性質。最佳實踐服務器端腳本或Web服務
我目前工作的一個Flex應用程序,和我越來越感到困惑時使用服務器端腳本,並在開發Web服務。對於我正在處理的大部分功能,我從用戶(客戶端)獲取各種文件,上傳到服務器進行處理/轉換,然後以新格式發送回客戶端。
我完成這個最使用asp.net通用處理程序(ASHX)文件,但不是很自信,這是最好的做法。但與此同時,Web服務是否更有意義?什麼會被認爲是最佳做法?任何建議將不勝感激。
我看它的方式如下:
對於我們的大部分開發,我們不需要創建「Web服務」,或者我在思考REST,SOAP和Twitter API時的想法。一旦你有多年來每天要使用的東西,你只需要開始這樣做。
如果你花時間去清晰地定義你的零件上載過程渲染架構,並且您發現它可以應用於幾乎所有您正在做的事情,那麼爲了使其成爲Web服務所需要做的就是定義一個明確的,1-2-3組使用系統的規則(GET/POST數據等)。只要你有意識地建立一個完整的架構,如果它值得的話,你最終會創建一個Web服務。否則就沒有必要。
這聽起來像你有一個明確的工作流程,但我不知道什麼關於asp.net。
至於令人困惑有時,和最佳做法,我建議如下:
我不認爲你應該嘗試創建一個Web服務。只需製作一些乾淨且可重用的代碼,舉幾個例子,讓它在線和開源,讓其他人做出貢獻並給出反饋,如果它解決了一個特定的問題,那麼把它做成一個Web服務。現在你可以只使用REST,並圍繞它構建你的系統。 RestfulX是一個偉大的圖書館。
最佳, 蘭斯
使得Web服務沒有任何意義是毫無意義的;) 現在FLEX AS3與flash版本10的世界裏,你可以輕鬆讀取本地文件,與任何modifcation算法對其進行修改和不用ping服務器就保存本地文件。 如果您想獲取某些服務器數據或將某些數據發送到服務器,則只需使用web服務。就這樣。
RSTanvir
的Flash/Flex使用的文件上傳一個簡單的HTTP POST方法,所以嘗試這樣做,使用SOAP的Web服務將是有問題的。這裏使用ASHX的方法對我來說聽起來很合理。
要發送/接收非基於文件的數據(例如用戶先前上傳的文件列表),我建議您查看開放源代碼Fluorine FX庫。氟使用AMF,這是一種與Flash進行數據傳輸的高性能方式。它也是純粹基於配置的,這意味着您不需要針對任何API進行編碼,只需配置Fluorine即可公開您的.NET服務類。如果您將來需要這些屬性,您可以輕鬆地將屬性添加到這些相同的類,以通過WCF將它們公開爲SOAP Web服務。但是,由於性能損失以及SOAP的Flex實現存在缺陷和互操作性問題,我不會推薦使用SOAP。
感謝您提供關於Flourine FX的小貼士。似乎這可能是我需要的一個很好的解決方案。 – user163757 2009-11-14 15:48:11