2009-11-13 183 views
0

讓我首先說我是新手開發人員,所以請原諒我的問題的基本性質。最佳實踐服務器端腳本或Web服務

我目前工作的一個Flex應用程序,和我越來越感到困惑時使用服務器端腳本,並在開發Web服務。對於我正在處理的大部分功能,我從用戶(客戶端)獲取各種文件,上傳到服務器進行處理/轉換,然後以新格式發送回客戶端。

我完成這個最使用asp.net通用處理程序(ASHX)文件,但不是很自信,這是最好的做法。但與此同時,Web服務是否更有意義?什麼會被認爲是最佳做法?任何建議將不勝感激。

回答

1

我看它的方式如下:

  1. Web服務的意思是公認的最佳實踐。

對於我們的大部分開發,我們不需要創建「Web服務」,或者我在思考REST,SOAP和Twitter API時的想法。一旦你有多年來每天要使用的東西,你只需要開始這樣做。

  • 乾淨和乾燥的代碼將帶領您創建Web服務
  • 如果你花時間去清晰地定義你的零件上載過程渲染架構,並且您發現它可以應用於幾乎所有您正在做的事情,那麼爲了使其成爲Web服務所需要做的就是定義一個明確的,1-2-3組使用系統的規則(GET/POST數據等)。只要你有意識地建立一個完整的架構,如果它值得的話,你最終會創建一個Web服務。否則就沒有必要。

    這聽起來像你有一個明確的工作流程,但我不知道什麼關於asp.net。

    至於令人困惑有時,和最佳做法,我建議如下:

    1. 爲貴「通用的ashx文件處理」 Flex類創建Flex庫項目。給它一個很酷,簡單的名字。
    2. 創建一個.NET庫項目,它封裝了服務器端文件處理的所有邏輯。在線託管並使其成爲開源代碼。我建議github。隨時進行測試,記錄它,它的目的和它背後的理論。
    3. 如果你沒有這樣做了在這一點上工作,它只是堵塞和突突,那麼你可能已經到達了一些有可能成爲一個Web服務,儘管這可能是幾年的道路。

    我不認爲你應該嘗試創建一個Web服務。只需製作一些乾淨且可重用的代碼,舉幾個例子,讓它在線和開源,讓其他人做出貢獻並給出反饋,如果它解決了一個特定的問題,那麼把它做成一個Web服務。現在你可以只使用REST,並圍繞它構建你的系統。 RestfulX是一個偉大的圖書館。

    最佳, 蘭斯

    1

    使得Web服務沒有任何意義是毫無意義的;) 現在FLEX AS3與flash版本10的世界裏,你可以輕鬆讀取本地文件,與任何modifcation算法對其進行修改和不用ping服務器就保存本地文件。 如果您想獲取某些服務器數據或將某些數據發送到服務器,則只需使用web服務。就這樣。

    RSTanvir

    1

    的Flash/Flex使用的文件上傳一個簡單的HTTP POST方法,所以嘗試這樣做,使用SOAP的Web服務將是有問題的。這裏使用ASHX的方法對我來說聽起來很合理。

    要發送/接收非基於文件的數據(例如用戶先前上傳的文件列表),我建議您查看開放源代碼Fluorine FX庫。氟使用AMF,這是一種與Flash進行數據傳輸的高性能方式。它也是純粹基於配置的,這意味着您不需要針對任何API進行編碼,只需配置Fluorine即可公開您的.NET服務類。如果您將來需要這些屬性,您可以輕鬆地將屬性添加到這些相同的類,以通過WCF將它們公開爲SOAP Web服務。但是,由於性能損失以及SOAP的Flex實現存在缺陷和互操作性問題,我不會推薦使用SOAP。

    +0

    感謝您提供關於Flourine FX的小貼士。似乎這可能是我需要的一個很好的解決方案。 – user163757 2009-11-14 15:48:11