0

私はかなり長い間検索してきましたが、Windows Phone 7 API から Java サーブレットを呼び出す方法について直接的な答えを得ることができませんか? 「WebClient」と「HttpWebRequest」について読みましたが、通常の C# と Windows Phone では実装が異なるようです。

私が持っているメソッド(または空のシェル)は次のようになります。

public Login(string userName, password){

   string servletUrl = "http://172.12.5.35:8080/SomeService/login?u="+userName+"&p="+password;

   //Somehow to call the servlet>>

}

私は Java コーダーです。構文はほとんど同じですが、Windows Phone のコーディングの深いところに投げ込まれました。

また、サーブレットが JSON を返すことにも言及する価値があります。C#でそれをどのように処理しますか?

正しい方向へのプッシュに事前に感謝します!


HttpWebRequest を使用した私の試み:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(servletUrl);
HttpWebResponse response = (HttpWebRequest)request.BeginGetResponse();

しかし、「BeginGetResponse()」は AsyncCallback とオブジェクトの状態という 2 つの引数を取ることがわかります。これらの 2 つの引数とは何ですか? この場合、私の主張は何でしょうか?

4

2 に答える 2

2

「WebClient」と「HttpWebRequest」について読みましたが、通常の C# と Windows Phone では実装が異なるようです。

まあ、それは同期 API をサポートしていません。それだけです。完全なデスクトップ フレームワークのサブセットである WP7 API (および一般的な Silverlight) には多くの側面があります。非同期で考える必要があります。リクエストの作成を開始し、レスポンスを受け取ったときにコールバックを起動します。

これは、話している Web サーバーの実装とは何の関係もないことに注意してください。Java サーブレットであれ、Rails アプリであれ、なんであろうと、同じコードを記述します。

また、サーブレットが JSON を返すことにも言及する価値があります。C#でそれをどのように処理しますか?

個人的にはJson.NETが好きで、Windows Phone 7 でうまく使用しています。

于 2012-06-20T09:30:12.847 に答える
1

JSON データを取得する Web リクエストを行うサンプル コードを次に示します。

WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri("http://api.twitter.com/1/statuses/public_timeline.json", UriKind.Absolute));

DownloadStringCompleted ハンドラは、

void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    var jsonResponse= e.Result; // To check whether the json response is obtained or not
    var jsonData = JsonConvert.DeserializeObject<SomeObject>(e.Result);
}

上記のコードで、SomeObjectは JSON データの変換先のクラスです。

さらに、このリンクにjson URL または json データを貼り付けて、適切なクラスを生成します。

于 2012-06-20T09:39:46.210 に答える