2010-07-01 3 views
1

Это серьезная проблема для меня. В более ранние времена клиенты веб-служб могли просто использовать EnableDecompression = true, и все было хорошо, но почему Microsoft не добавила нечто похожее на WCF?EnableDecompression для WCF - услуги?

Мне очень нужны сжатые ответы gzip из моих служб WCF (и они должны быть http ... устаревшими проблемами, как обычно ... вы знаете ...).

ответ

1

Заканчивать этот blog post, который в основном заканчивается предлагающим:

Заключения

теперь я угробил это, как мы также должны поддержки клиентов, которые не устанавливаю AcceptEncoding заголовка , так что я на самом деле нужна возможность прочитать HTTP-заголовок в запросить и установить «контекстное» значение на (нет) сжать ответ, и у меня есть not f ound out еще, как это сделать за несколько одновременных запросов. Я действительно рекомендую использовать сжатие IIS http и не пытаться сделать это с взломом WCF, как описано здесь!

Там также проект WCF расширения на Codeplex который имеет WCF Compression Channel - возможно, это будет то, что вы ищете.

Самым удачным для buck было бы использовать binaryMessageEncoding в WCF вместо textMessageEncoding (который по умолчанию используется для привязок HTTP). Это потребует от вас create a custom http based binding и сделает вашу службу несовместимой с другими клиентами на основе http, отличными от клиентов .NET, которые также используют одну и ту же конфигурацию привязки.

+0

спасибо, очень хорошая ссылка! Кстати, я опубликовал рекомендацию перейти на .NET 4.0 сейчас, в .NET 4.0 все работает как шарм. –

Смежные вопросы