Альтернатива HttpWebRequest.ProtocolVersion в Silverlight - PullRequest
1 голос
/ 07 декабря 2010

У меня есть приложение Silverlight OOB, которое использует HttpWebRequest для загрузки файлов в «чанках» с использованием заголовка диапазона HTTP 1.1.

Некоторые из наших пользователей имеют компьютеры или используют прокси, которые поддерживают только HTTP 1.0, поэтомузаголовок / функциональность недоступна.Это приводит к тому, что клиент пытается загружать очень большие файлы одновременно, а не небольшими порциями.Это сильно влияет на опыт использования приложения, и я хотел бы реализовать альтернативные функции в этом случае.

К сожалению, Silverlight не поддерживает HttpWebResponse.ProtocolVersion , поэтому я могу 'Легко определить, не поддерживает ли клиент заголовок диапазона.

Есть ли способ определить версию HTTP, которая используется в Silverlight?(Доступ к необработанному HTTP-ответу?)
Или мне нужно будет обнаружить это на сервере и соответствующим образом уведомить клиента Silverlight?

1 Ответ

1 голос
/ 07 декабря 2010

Если вы используете стек ClientHTTP в Silverlight, вы можете получить доступ к коллекции Headers объекта ответа. Это не позволит вам определить версию протокола, однако оно должно позволить вам обнаружить, что заголовок «Accept-Ranges» присутствует и имеет значение «bytes».

Таким образом, тестовый запрос к некоторому статическому ресурсу без кэширования на сервере может позволить вам определить, приемлем ли запрос на основе диапазона.

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