从Windows Phone 7发送请求到服务器

时间:2011-12-08 10:04:13

标签: c# windows-phone-7 windows-phone-7.1

我是WP7的初学者。我需要向服务器发送请求。该请求包括用户名,密码和身份验证标头。如果成功,我会以xml格式从服务器获取一些数据。如何将请求发送到服务器?

3 个答案:

答案 0 :(得分:4)

你肯定不应该使用WebClient类,因为这会在UI线程上执行,因此会导致应用程序锁定,而不是查看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 :(得分:1)

试试这个:

WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += (s, e) =>
{
    string xml = e.Result;
};
webClient.DownloadStringAsync(new Uri("http://..." + your params));

答案 2 :(得分:-1)

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);
}