Здравствуйте, alife.hpp, Вы писали:
AH>Не смотря на примение антибиотиков сжатие не работает (rev 669)
Решение для ревизии 652+. До этой ревизии сжатие управлялось только из настроек приложения.
Сжатые данные отдаются сервером, если указан заголовок Accept-Encoding. В ответ на него сервер выставляет заголовок Content-Encoding.
вход (от клиента)
Accept-Encoding: gzip, deflate
выход (к клиенту)
Content-Encoding: gzip
или
Content-Encoding: deflate
Чтобы в Янусе включить сжатие, необходимо
Запустить Янус, перейти в Сервис — Настройки приложения, раздел 3. Синхронизация — Использовать сжатие — поставить "да".
Закрыть Янус, перейти к файлу Janus.exe.config и проверить наличие выделенного жирным элемента, в случае отсутствия добавить его.
<system.web>
<webServices>
<soapExtensionTypes>
<add
type="Rsdn.Janus.ProgressSoapExtension, Janus"
priority="1" group="0" />
<add
type="Rsdn.Janus.CompressSoapExtension, Janus"
priority="2" group="0" />
</soapExtensionTypes>
</webServices>
</system.web>
Запустить Янус, теперь он будет использовать сжатие.
Запустить Янус, перейти в Сервис — Настройки приложения, раздел 3. Синхронизация — Использовать сжатие — поставить "нет".
Закрыть Янус, перейти к файлу Janus.exe.config и проверить наличие выделенного жирным элемента, в случае наличия удалить его.
Запустить Янус, теперь он не будет использовать сжатие.
Некоторые прокси-сервера режут заголовки сжатия специально, чтобы анализировать контент и чего-то с ним делать. Ну, просто разработчики этих прокси съэкономили на поддержке сжатия, но предоставили офигенно полезный механизм контроля за контентом. Тут поделать нечего.
Для некоторых прокси-серверов возможность работы со сжатием открывается только после установки патчей либо манипуляций с реестром.
Типичная проблема — это попадание URI веб-службы "
http://rsdn.ru/ws/Janus.asmx" под маску *anus*.
Тут выход прост, надо добавить URI в белый либо доверенный список прокси-сервера.
С ревизии 652 типичной проблемой стало отсутствие в Janus.exe.config строчек, ответственных за активацию SOAP-расширения для сжатия. Т.е. человек ставил "использовать сжатие" в настройках, Янус заказывал у веб-службы сжатый контент, но распаковывать его было некому.
В общем-то, такого быть не должно, но на всякий случай он полностью приведен ниже, и содержит поддержку индикации прогресса при синхронизации и сжатия.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Janus.WebService.JanusSvc" value="http://rsdn.ru/ws/Janus.asmx" />
</appSettings>
<system.web>
<webServices>
<soapExtensionTypes>
<add
type="Rsdn.Janus.ProgressSoapExtension, Janus"
priority="1" group="0" />
<add
type="Rsdn.Janus.CompressSoapExtension, Janus"
priority="2" group="0" />
</soapExtensionTypes>
</webServices>
</system.web>
</configuration>
... << RSDN@Home 1.2.0 alpha rev. 673>> SQL Express 2005