我是WP7的初學者。我需要向服務器發送請求。該請求包括用戶名,密碼和身份驗證標頭。如果成功,我以xml格式從服務器獲取一些數據。我如何將請求發送到服務器?發送請求從Windows Phone 7到服務器
回答
你當然不應該使用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(未授權)。
使用芒果更新,WebClient和HttpWebRequest之間沒有區別 - 兩者都在調用它們的線程中執行。 – Ku6opr
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);
}
如果您是WP7的初學者(如提問者),請不要(無論您如何)使用WebClient作爲答案的建議,請參閱http://forums.silverlight.net/t/216188.aspx/1以獲取詳細信息 –
芒果WebClient和HttpWebRequest都在它們被調用的線程中執行。 http://blogs.msdn.com/b/slmperf/archive/2011/06/21/webclient-change-for-mango-how-it-impacts-your-application.aspx – Ku6opr
我不是WP7的初學者。但是我幾乎所有的經驗都在XNA和遊戲開發中,而我並沒有注意到這些問題。非常感謝,我會在我的項目中進行一些額外的測試。 – Eugene
試試這個:
WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += (s, e) =>
{
string xml = e.Result;
};
webClient.DownloadStringAsync(new Uri("http://..." + your params));
- 1. 如何將短信發送到Windows Phone 7中的服務器?
- 2. 從Flash發送請求到服務器的服務器庫API
- 3. 從服務器發送Facebook請求?
- 4. RESTKIT:請求不發送到服務器
- 5. 發送郵寄請求到服務器
- 6. Android - 發送JSON請求到服務器
- 7. Python:發送請求到protobuf服務器
- 8. 發送請求到服務器端
- 9. 直接發送請求到服務器
- 10. 發送http請求到linux服務器
- 11. 發送HTTPS POST請求到服務器
- 12. 發送請求到服務器iOS
- 13. 發送http請求到solr服務器
- 14. 從後臺服務發送http請求到服務器失敗
- 15. 需要建議:將信息從web服務器發送到Windows Phone 7
- 16. 發送文件在POST請求與Windows Phone 7
- 17. 如何向Windows Phone 7發送POST請求?
- 18. 將json從發佈請求發送到nodejs服務器
- 19. C http服務器發送請求到我的服務器?
- 20. okhttp發送請求發送空值到服務器
- 21. 發送POST請求後身體不發送到服務器
- 22. 如何在7天后只發送一次服務器請求?
- 23. 如何在7天后發送服務器請求?
- 24. Android:發送服務請求
- 25. 向服務器發送多個請求
- 26. 向服務器發送大量請求
- 27. 驗證服務器發送HTTP請求
- 28. 向服務器發送請求兩次
- 29. 向服務器發送POST請求
- 30. 從iPhone發送請求到網絡服務器
請求什麼?你需要調用一個web服務嗎? http url?你到現在爲止嘗試過什麼? – ChristiaanV
@Nelson T Joseph你找到這個解決方案嗎? –