Отправить запрос с Windows Phone 7 на сервер - PullRequest
2 голосов
/ 08 декабря 2011

Я новичок в WP7.Мне нужно отправить запрос на сервер.Запрос включал имя пользователя, пароль и заголовок аутентификации.В случае успеха я получаю некоторые данные с сервера в форме XML.Как я могу отправить запрос на сервер?

Ответы [ 3 ]

4 голосов
/ 08 декабря 2011

Вы, конечно, не должны использовать класс WebClient, поскольку он выполняется в потоке пользовательского интерфейса, поэтому приложение заблокируется, вместо этого посмотрите на класс HttpWebRequest.

Вот хороший пример: http://www.codeproject.com/Articles/156610/WP7-WebClient-vs-HttpWebRequest

Чтобы добавить заголовки, вы можете получить доступ к свойству HttpWebRequest.Headers, чтобы вы могли добавить базовый заголовок авторизации согласно этому http://devproj20.blogspot.com/2008/02/assigning-basic-authorization-http.html Кроме того, вы можете использовать свойство HttpWebRequest.Credentials (подробнее см. http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.credentials.aspx)

Вы хотели бы проверить код состояния ответа, чтобы убедиться, что аутентификация прошла успешно, поэтому вы получите доступ к свойству HttpWebResponse.StatusCode и посмотрите, не является ли оно 401 (неавторизованным).

1 голос
/ 08 декабря 2011

Попробуйте это:

WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += (s, e) =>
{
    string xml = e.Result;
};
webClient.DownloadStringAsync(new Uri("http://..." + your params));
0 голосов
/ 08 декабря 2011
void SendRequest()
{
    WebClient wc = new WebClient();
    wc.DownloadStringAsync(new Uri("http://somesite.com/webservice"));
    wc.DownloadStringCompleted +=DownloadStringCompleted;
}

void DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    Debug.WriteLine("Web service says: " + e.Result);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...