Призрак Форума
Зарегистрирован: 29 September 2002
Сообщения: 3597
Примеры кода: 15
|
RE: web services compression |
07 June 2007 01:53 |
|
|
|
|
Добрый день.
Хотелось бы услышать мнение форумчан относительно следующего вопроса:
Есть клиент (.NET 1.1) который взаимодействуют с сервером (ASP.NET 2.0) посредством вызова web services.
Поскольку допустим достаточно большой объем отсылаемых и принимаемых данных принято решение реализовать компрессию. Важно чтоб при этом не отвалились старые клиенты .
Рассматривалось несколько способов:
1. HTTP 1.1. компрессия
В новой версии клиента пишутся свои WebRequest, WebResponse с поддержкой заголовков (Accept-Encoding, Content-Encoding) и переопределяется GetResponseStream.
IIS 6.0 настраивается на gzip компрессию (Web Services Extensions).
К сожалению не удалось заставить работать этот способ на вход (вылетает 400 Bad Reaquest).
Хотя на выход все замечательно работает ...
Способ несомненно хорош так как требует минимального изменения инфраструктуры сервисов и обратно совместим со старыми клиентами.
2. WSE 2.0 Input/Output Filters.
Отпал так как старые клиенты настроены на другой WSD.
3. SOAP Extensions.
Реализован, но пришлось создавать новые методы в службе декорированные атрибутами расширения.
Кроме того при update reference изменения внесенные в прокси клас службы естественно исчезают.
Прошу по возможности прокоментировать приведеные варианты ...
В первую очередь инетересует минимальное изменение в самой инфраструктуре.
Спасибо.
см. blowery HttpCompressionModule
Anatoly Lubarsky
|
|