Silverlight HttpWebRequest Не удается включить файл cookie .ASPXAUTH в заголовок - PullRequest
4 голосов
/ 03 ноября 2010

Прямо сейчас у меня есть приложение silverlight, которое получает данные с сайта MVC.Пока я использую WebClient и получаю запросы, все вроде бы нормально.Однако когда я использую HttpWebRequest и POST, у меня возникают проблемы с аутентификацией.

Проблемы связаны с запросом, в котором отсутствует файл cookie .ASPXAUTH.

Кто-нибудь знает, как решить или обойти это?

Ответы [ 2 ]

6 голосов
/ 03 ноября 2010

напишите следующий код перед созданием HttpWebRequest объекта.

System.Net.WebRequest.RegisterPrefix ("http://", WebRequestCreator.BrowserHttp); System.Net.WebRequest.RegisterPrefix ("https://", WebRequestCreator.BrowserHttp);

, а затем создайте объект HttpWebRequest.

// Создать запрос
HttpWebRequest request = HttpWebRequest.CreateHttp ("http://zainshaikh.posterous.com/");

Надеюсь, это поможет.

1 голос
/ 03 ноября 2010

Я недавно тоже немного поняла это.Вы сталкиваетесь с разделением общения на основе браузера и общения на Silverlight.Когда вы используете WebClient, вы фактически делаете запрос через стек HTTP браузера и, следовательно, получаете всю автоматическую обработку куки.Когда вы используете HttpWebRequest, вы используете HTTP-стек Silverlight и поэтому не можете использовать файлы cookie, отправленные в браузер;два магазина печенья являются отдельными.См. эту статью для более подробной информации.

Я записывал ответ @ Zain, который регистрирует запрос HttpWebRequest в стеке HTTP браузера и решает эту проблему, но он опередил меня; -).

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