EnableDecompression для WCF - сервисов?

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

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


person Turing Complete    schedule 01.07.2010    source источник


Ответы (1)


Ознакомьтесь с сообщение в блоге, которое в основном предлагает:

Заключение

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

На Codeplex также есть проект расширений WCF, в котором есть канал сжатия WCF - может быть, это то, что вам нужно » повторно ищем.

Самым большим ударом для доллара было бы использование binaryMessageEncoding в WCF вместо textMessageEncoding (которое используется по умолчанию для привязок HTTP). Для этого вам потребуется http://jeffbarnes.net/blog/post/2007/02/22/WCF-Enable-Binary-Encoding-Over-Http.aspx, что сделает вашу службу несовместимой с другими клиентами на основе http, кроме клиентов .NET, которые также используют ту же настраиваемую конфигурацию привязки.

person marc_s    schedule 01.07.2010
comment
спасибо, очень хорошая ссылка! кстати, я рекомендовал перейти на .NET 4.0 сейчас, в .NET 4.0 все работает как шарм. - person Turing Complete; 05.07.2010