Можно ли установить заголовки http при использовании объекта HttpRequest в Silverlight? - PullRequest
1 голос
/ 16 февраля 2010

У меня проблемы с настройкой любых значений заголовка HTTP при создании запроса HttpRequest из Silverlight 3.0?

Поддерживаются ли заголовки HTTP в Silverlight 3.0?

Следующий код генерирует исключение при вызове обратного вызова:

        var url = new Uri("http://lonmw32795/RBSM_Portal_RESTfulWebService/HostInterrogationService.svc/host/environment");
        req = (HttpWebRequest)WebRequest.Create(url);
        req.Headers[HttpRequestHeader.Pragma] = "no-cache";
        req.Method = "GET";

        req.BeginGetResponse(new AsyncCallback(WebComplete), req);    

Тип исключения: System.NotSupportedException - WTF!

У кого-нибудь есть идеи?

Приветствия

AWC

Ответы [ 2 ]

2 голосов
/ 16 февраля 2010

Обратите внимание на документацию для WebHeaderCollection , большинство полезных заголовков ограничено, в нем нет прагмы, но также говорится, что ограниченные заголовки не ограничены предоставленным списком.

Эти ограничения действуют, поскольку основной браузер обычно обрабатывает запросы http и поэтому контролирует такие заголовки, используя свои собственные алгоритмы.

Возможно сделать это с помощью ClientHttp следующим образом: -

    var url = new Uri("http://lonmw32795/RBSM_Portal_RESTfulWebService/HostInterrogationService.svc/host/environment");
    req = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(url);

Обратите внимание, что вам потребуется управлять любыми необходимыми файлами cookie вручную, что может быть немного сложнее, если файлы cookie установлены как часть ответа на запросы, использующие BrowserHttp.

0 голосов
/ 16 февраля 2010

Простой ответ: нет, это не так - если вы хотите создать HttpRequest, вам нужно использовать класс WebRequestCreator.

проверить эту запись в блоге для получения дополнительной информации.1005 *

...