我們有Flex應用程序連接到我們的ASP.NET 3.5 Web應用程序,並且通常會下載大量數據。現在考慮XML作爲傳輸,對於每個項目,它傳輸元數據兩次例如..而不是傳輸int值爲<Customer CustomerID=23/>
它傳輸<Customer><CustomerID>23</CustomerID></Customer>
..現在這裏是帶寬保存成爲一個問題。ASP.NET 3.5 Flex的WebService壓縮
- FLEX無法讀取gzip和deflate壓縮HTTP響應(所以不能使用其中的任何)
- 我聽說過一些
WSCompression
但它需要WSE 3.0現在我將信將疑地介紹我的託管環境中過多的依賴這需要太多的管理和開銷。 WSE 3.0只有在生產服務器上不需要安裝的dll庫嗎?是否需要重寫所有WebService
屬性?或者它是簡單的一次性配置,或多或少,任何人都知道它與Flex的工作? - Flex動態生成Web服務,我們使用它的很多自動生成的代碼,現在如果我們想要支持壓縮,那麼我們是否需要重寫很多代碼?
我能想到的最簡單的解決方案是,減少不必要的XML標籤並將它們降低到屬性以節省帶寬。是否有一種簡單的方法來實現它,我們的類擁有超過50-70個屬性,我知道爲每個屬性添加屬性將是噩夢,但我們不知道如何在SOAP中執行此屬性。
問:
什麼是WSE 3.0無論如何,它需要將生產服務器上安裝?爲了實現WSCompression,我們需要將附加代碼集成到我們的Web服務代碼中,就像每個WebMethod屬性一樣,我們是否需要在屬性中添加更多代碼?
有沒有一種簡單的方法來標記屬性的屬性,迫使序列化簡單的形式,例如[SoapAttribute],其將數據作爲屬性,而不是標籤和它與FLEX工作還是會與任何客戶端的工作?
SOAP是否只有元素的標準格式,或者它可以支持屬性?
**絕不**使用WSE !!! WSE已經過時,並已被WCF取代。 – 2009-08-17 10:10:15
WSCompression僅支持通過WSE,我們不能使用WCF,因爲我們的客戶端不是.NET,它的FLEX。我們想要使用純粹的Web服務,我們不希望只使用微軟的代碼。 – 2009-08-17 10:20:37
WCF完全支持純Web服務!是什麼讓你認爲它只支持微軟的代碼?它是ASMX和WSE的替代品!如果它沒有互操作,那意味着微軟完全放棄了互操作性! – 2009-08-17 15:23:15