我正在將舊的asmx webservice移動到帶有IIS7的新服務器。
這個web服務基本上發送一個大數據集(10mb +)到一個winform應用程序。
舊的解決方案是使用自定義soap擴展實現的,該擴展在將流發送到客戶端之前壓縮了內容。
客戶端當然實現了相同的自定義soap擴展,以解壓縮數據集中的流。 一切都很好,多年來工作。
我的客戶不想更改升級到WCF的代碼。他們只想將舊應用程序放在新服務器上,並使用新的動態內容壓縮功能。
我們在測試服務器上測試了一些東西(win serv 2008),看起來它工作得很好,即使它看起來很慢:我們看不到未壓縮和壓縮的流之間的性能(速度)差異。
下面是問題。我應該在哪裏放置設置?大多數人說我不能把它放在我的web.config中;別人說可以放在那裏。我有點困惑。
有什麼技巧或我應該知道的事情嗎? mimeTypes呢?我應該設置一些參數嗎?考慮到我的流是XML(數據集)??IIS7動態內容壓縮和web服務
0
A
回答
1
假設你可以很容易地禁用你的壓縮代碼,那麼使用IIS7壓縮功能非常簡單。
您可以使用IIS7中的web.config在文件夾級別啓用和禁用壓縮。
但是,控制哪些mimetypes被壓縮而哪些不被存儲在web服務器級別的配置。
要在給定site/vdir /文件夾上啓用動態壓縮(假設服務器安裝了動態壓縮功能),只需在IIS管理器中打開您的站點/文件夾,然後點擊'壓縮'圖標即可。在這裏,您可以啓用靜態和動態壓縮。
在這一點上,檢查它是否工作(即流量確實被壓縮)。如果是這樣,那麼默認的動態壓縮配置的工作,如果沒有,那麼你需要,你可以去抓住和早午餐:)
:
- 單擊服務器節點(在根)在IIS管理器中。然後打開'配置編輯器'(位於最下面一行,通常位於左側)。
- 在出現的窗體的下拉列表中,展開system.webserver節點,然後單擊'httpCompression'葉節點。
- 現在您將看到所有服務器範圍的壓縮配置選項 - 您需要打開'dynamicTypes'設置。
- 在那裏你可以爲你需要壓縮的mimetypes添加額外的規則。
一兩件事,這是一個有點討厭這個的是,MIME類型都完全匹配,有時默認規則將不會匹配你想要的一切。
我舉個例子,增加了4個額外的規則,我們的服務器:
- 應用/ JSON
- 應用程序/ XML
然後:
- 應用/ JSON; charset = utf8
- application/xml; charset = utf8
因爲某些原因,我發現我的來自.Net的json/xml響應的mimetype在末尾有這個額外的'charset ='位。如果確實如此,並且它不在規則列表中,那麼IIS7壓縮將無法啓動。讓我度過這段時間(以及很多Fiddler的使用!)來弄清楚這一點!
相關問題
- 1. IIS7:靜態和動態內容壓縮之間的區別
- 2. IIS7壓縮從自定義處理動態內容
- 3. 異步Web服務調用使用動態壓縮到IIS7不工作
- 4. 靜態內容未從IIS7中解壓縮到IE9
- 5. Web服務響應壓縮
- 6. Asp.net 4.0 Web服務壓縮
- 7. 壓縮web服務請求
- 8. 壓縮和加密SOAP - ASP.NET web服務
- 9. 壓縮和Etag網頁 - IIS7
- 10. 在GoDaddy IIS7壓縮
- 11. IIS7壓縮失敗
- 12. 壓縮Web服務的結果
- 13. IIS7 gzip壓縮 - httpCompression部分
- 14. 是否值得在IIS7中啓用動態壓縮?
- 15. 壓縮Apache和Tomcat上的內容
- 16. 動態創建Web服務動態Web服務調用器
- 17. 在Akamai中壓縮內容
- 18. .Net Web服務內存壓力錯誤
- 19. 在WCF Web服務和gSOAP上使用壓縮
- 20. 緩存和壓縮ASP.NET MVC中的靜態內容
- 21. 不正確的UITableViewCell高度與動態UILabels和內容壓縮/電阻
- 22. MonoTouch動態Web服務URL
- 23. 動態web服務請求
- 24. 動態公開Web服務
- 25. 爲什麼IIS7靜態/動態壓縮僅適用於200個響應?
- 26. IIS動態壓縮「ALREADY_CONTENT_ENCODING」
- 27. IIS動態壓縮失敗
- 28. 動態紋理壓縮
- 29. 動態添加內容到一個用戶界面使用JavaScript壓縮下面的內容在IE7和8
- 30. 蝦PDF壓縮,壓縮的內容流,它有什麼作用
感謝您的回覆Andras。 當你在談論「配置編輯器」時,你的意思是你安裝AdministrationPack時的那個,對嗎? 因此,基本上,對於你所說的,沒有辦法在網站級別進行設置。如果我想針對不同的網站/虛擬網站有不同的行爲,我無法使用我的web.config;那是對的嗎? 謝謝 – LeftyX 2010-05-14 12:46:21
@vandalo - 抱歉延誤。我不確定是否需要管理包......我所知道的是,在安裝IIS之後(確保我在功能中啓用了靜態和動態壓縮選項)後,這些選項在IIS管理器中可用。至於不同的站點/虛擬站點級別 - 您可以簡單地通過web.config在單個文件夾(因此站點和虛擬文件夾)上打開和關閉壓縮;但動態壓縮的內容類型只能在服務器級別配置。 – 2010-05-27 11:11:34