Сжатие результата веб-сервиса - PullRequest
0 голосов
/ 19 января 2010

У меня есть веб-сервис .NET, который возвращает XML, и я бы хотел сжать его перед отправкой.

Есть несколько способов сделать это, но я бы предпочел не делать это в коде.

Могу ли я настроить IIS для распаковки всего содержимого, возвращаемого моим WebService? Он не вызывается из браузера.

Другой вопрос: если этот веб-сервис используется Java-клиентом, это повлияет на что-нибудь?

Я полагаю, что клиентский прокси все равно нужно будет распаковать, но не должно быть никаких проблем, если я использую gzip - это универсальный протокол, верно?

Ответы [ 2 ]

3 голосов
/ 19 января 2010

Стандартный способ сделать это - использовать сжатие gzip через HTTP, поскольку он напрямую поддерживается протоколом. Пока ваш клиент поддерживает это, вам будет хорошо.

Если вы пишете клиент с нуля с использованием более фундаментальных инструментов, вам может потребоваться добавить обработку для этого самостоятельно: хороший пример этого показан здесь (python) .

Я ожидаю, что многие клиентские библиотеки SOAP будут иметь встроенную поддержку для этого, но вы должны попробовать свою, чтобы быть уверенным: если они полагаются на библиотеку HTTP более низкого уровня, чтобы выполнить свою работу, по всей вероятности, это должен просто работать.

1 голос
/ 15 февраля 2011

вы можете настроить metaase.xml в iis для лучшего контроля над сжатием.вы можете переопределить формат вашего веб-приложения (.asp, .asmx, ...) для метабазы, если он еще не включен.Вы можете увидеть ниже: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/25d2170b-09c0-45fd-8da4-898cf9a7d568.mspx?mfr=true, а также http://www.businessanyplace.net/?p=wscompress

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...