Asp.net-Web-Api

Web Api gzip 壓縮

  • April 23, 2016

我已將此URL用於 Web API 壓縮,但是當我看到提琴手標頭中的輸出不是 zip 時。有多個 Zip 選項可用,例如 GZIP、BZIP2 DEFLATE 不確定使用哪一個,請在此處提供幫助

我嘗試了以下解決方案,但它們都不起作用:

http://benfoster.io/blog/aspnet-web-api-compression

有多個 Zip 選項可用,例如 GZIP、BZIP2 DEFLATE 不確定使用哪一個,請在此處提供幫助

這個列表將被發送到伺服器,並讓它知道客戶端關於壓縮的偏好。這意味著“我首先更喜歡 GZIP。如果伺服器端不支持 GZIP,則回退到 BZIP2 DEFLATE 壓縮。如果不支持 BZIP2 DEFLATE,那麼伺服器將不會進行任何壓縮。”

有人已經創建了一個使用您剛剛在問題中提出的實現的 nuget 包。包名稱是Microsoft.AspNet.WebApi.MessageHandlers.Compression安裝以下兩個包:

  • Microsoft.AspNet.WebApi.Extensions.Compression.Server
  • System.Net.Http.Extensions.Compression.Client

如果您不需要客戶端庫,那麼只需要 Web API 項目中的伺服器端包。

要使用它,您需要修改以在Gloabl.asax.csApplication_Start方法的末尾添加以下行:

GlobalConfiguration.Configuration.MessageHandlers.Insert(0, new ServerCompressionHandler(new GZipCompressor(), new DeflateCompressor()));

要了解有關此軟體包的更多資訊,請查看此連結

引用自:https://stackoverflow.com/questions/36812825