2011-12-08 6 views
2

私はWP7の初心者です。私はサーバーにリクエストを送信する必要があります。リクエストには、ユーザー名、パスワード、認証ヘッダーが含まれています。成功した場合、xml形式でサーバーからデータを取得します。サーバーにリクエストを送信するにはどうすればよいですか?窓からのリクエストを電話7からサーバー

+0

何をリクエストしますか?あなたはウェブサービスに電話する必要がありますか? HTTPのURL?あなたは今まで何を試しましたか? – ChristiaanV

+0

@ネルソンTジョセフあなたはこの解決策を見つけましたか? –

答えて

4

、代わりにHttpWebRequestクラスを見てください。

ここに良い例があります:あなたはまた、このhttp://devproj20.blogspot.com/2008/02/assigning-basic-authorization-http.html ごとに基本認証ヘッダーを追加することができるようにhttp://www.codeproject.com/Articles/156610/WP7-WebClient-vs-HttpWebRequest

はヘッダを追加するには、HttpWebRequest.Headersプロパティにアクセスすることができます、あなたは(HttpWebRequest.Credentialsプロパティを使用することができますあなたがHttpWebResponse.StatusCodeプロパティにアクセスし、それは401(不正である場合かどうかを確認したいので)、

あなたは、認証が成功したかどうかを確認するためにレスポンスのステータスコードを確認したいと思います)詳細はhttp://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.credentials.aspxを参照してください。

+0

マンゴーアップデートでは、WebClientとHttpWebRequestの違いはありません。両方とも、呼び出されたスレッドで実行されます。 – Ku6opr

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

質問者のようなWP7の初心者の方は、回答が示唆しているようにWebClientを使用しないでください(詳細はhttp://forums.silverlight.net/t/216188.aspx/1を参照してください)。 –

+1

Mango WebClientとHttpWebRequestはどちらも、呼び出されたスレッドで実行されます。 http://blogs.msdn.com/b/slmperf/archive/2011/06/21/webclient-change-for-mango-how-it-impacts-your-application.aspx – Ku6opr

+0

私はWP7の初心者ではありません。しかし、私の経験はほとんどすべてXNAとゲーム開発者にあり、私はそのような問題に気づいていませんでした。ありがとう、私は私のプロジェクトでいくつかの追加のテストを行うつもりです。 – Eugene

1

、このいずれかを試してください:あなたは確かにそうアプリをロックするようになります、これはUIスレッド上で実行されるようWebClientクラスを使用すべきではない

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