10

MVC4 WebAPI (RC) kullanan bir proje üzerinde çalışıyorum. Yanıtlar gzip sıkıştırılmış değil (IIS'de dinamik sıkıştırma etkinleştirildi).MVC4 WebAPI sıkıştırmıyor GET yanıtları

Normal MVC denetleyicilerindeki yanıtlar sıkıştırılır. WebAPI yanıtları için gzip sıkıştırmasını etkinleştirmek için belirli bir ayarıma ihtiyacım var mı?

Özel bir sıkıştırma işleyicisi ekleyebilirim, ancak mümkünse, yerleşik IIS sıkıştırmasını kullanmak isterim.

BTW, Bunun neredeyse bir kopyası olan Compress HTTP GET Response olduğunu biliyorum, ancak kabul edilen yanıt sorumu gerçekten yanıtlamıyor.

+0

MIMETYPE 'application/json için etkinleştirilmiş dinamik sıkıştırma mı "Kod bir evrensel bir dildir" biliyorum; karakter kümesi = UTF-8' ? Dinamik sıkıştırma etkin olsa bile, bu varsayılan olarak etkin değildir –

+0

@EivindT Bunu nasıl kontrol edebilirim? – Carvellis

+0

bölümünde% windir% \ System32 \ inetsrv \ config altındaki applicationhost.config dosyasına bakabilirsiniz. Dosyayı düzenlememelisiniz, bunun yerine appcmd.exe'yi şu şekilde değiştirin: http://stackoverflow.com/a/7375645/243936 –

cevap

11

Mmimetype için dinamik sıkıştırma etkinleştirildi mi? Varsayılan olarak, dinamik sıkıştırma etkin olsa bile bu etkin değildir.

Etkin olup olmadığını görmek için, bölümdeki %windir%\System32\inetsrv\config altındaki applicationhost.config dosyasına bakabilirsiniz.

Böyle değiştirmek için appcmd.exe kullanmak yerine, dosyayı düzenlemek gerekir: https://stackoverflow.com/a/7375645/243936

+1

Applicationhost.config dosyasını notepad kullanarak elle düzenleme konusunda sorun yaşamadım. Eklemeniz gereken tek şey httpCompression -> dynamicTypes bölümüne bir satırdır: '. Daha fazla bilgi için bu bağlantıya bakın: http://benfoster.io/blog/aspnet-web-api-compression Bunu yaptıktan sonra web api yanıtlarım gziplendi. –

0

Aslında bunu başarmak için Nuget paketini kurabilirsiniz, bu sadece eklemeniz gerekir istemci tarafında, küçük yapılandırma gerektirir kabul-kodlaması: gzip.

Bu yaklaşımı kullanmak, ASP.Net herhangi bir Web Sunucusu'nda çalıştırabildiği günlerde daha iyidir.

Bu videoda gzip sıkıştırması kullanarak tam bir WebApi açıklaması var. İspanyolca, ancak

NinjaTip #16 | Incluyendo soporte para GZip en WebAPI | C# NinjaTip #16 | Incluyendo soporte para GZip en WebAPI