0

Visual Studio 2010 Express for Windows Phoneの作業で忙しく、クラスの1つからjsonを返すサーブレットを呼び出したいと考えています。

私はこれまでに次の方法を持っています:

public Login(string userName, string password){

   string servletUrl = "http://172.12.5.35:8080/SomeService/login?u="+userName+"&p="+password;
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(servletUrl);
   HttpWebResponse response = (HttpWebResponse)request.GetResponse();

}

しかし、何らかの理由で、 " GetResponse()"メソッド呼び出しで、そのようなメソッドがないというエラーが発生しますか?誰かアイデアはありますか?私はかなり見回しましたが、私のコードは私には正しいように見えますか?

編集済み------------------------------

public Login(string userName, string password){

   string servletUrl = "http://172.12.5.35:8080/SomeService/login?u="+userName+"&p="+password;
   using(var client = (IDisposable)new WebClient(servletUrl))
   {
        string result = client.DownloadString(servletUrl);

   {

}

DownloadStringしかし、WebClientのメソッドはないようです。

4

1 に答える 1

3

Windows Phone 7(および一般的にSilverlight)は同期IOをサポートしていません。Silverlight APIのドキュメントを見ると、コンパイラが完全に正しいことがわかります。メソッドはありません。代わりに、非同期メソッドGetResponseを使用する必要があります。BeginGetResponse

または、非同期部分をいくらか単純にするを使用WebClientします。もちろん、C#5の非同期サポートにより、一般的に非同期がはるかに簡単になります。

編集:コメントに記載されているように-DownloadStringまだ同期しているため、Silverlightではサポートされていません。非同期APIが必要です。例:DownloadStringAsync

于 2012-06-20T08:35:54.323 に答える