ServiceStack を使用してサーバーとクライアント (MonoDroid および Windows) を作成しました。すべて問題なく動作しますが、Compact Framework F3.5 を使用するモバイル クライアントでサーバーからのデータを使用する必要があります。
SOAP Web サービスとしてアクセスできますが、REST を使用して、フレームワークを使用して ServiceStack クライアントと同じように単純化することを好みます (RestSharp は Compact Framework と互換性がないため)。
次のような簡単な方法で ServiceStack サーバーに接続できる CF3.5 と互換性のあるものを知っていますか?
var client = new JsonServiceClient("http://192.168.0.87:82");
HelloResponse response = client.Get(new Hello { Name = "World!" });
アップデート:
HTTPWebRequest で応答を取得し、.NET Compact Framework をサポートする古い JSON.Net バージョンで HelloResponse オブジェクトを逆シリアル化することができました。私が見逃しているのは、仮想の HelloReq オブジェクトをシリアル化して HttpWebRequest に渡す方法だけです。何かヒントはありますか? (以下のようにルートを手動で作成する必要はありません)
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://192.168.0.87:82/Hello/test?format=json");
req.Method = "GET";
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream respStream = resp.GetResponseStream();
string resps;
using (var reader = new StreamReader(respStream, Encoding.UTF8))
{
resps = reader.ReadToEnd();
}
respStream.Close();
JsonTextReader jreader = new JsonTextReader(new StringReader(resps));
JsonSerializer serializer = new JsonSerializer();
HelloResponse p = serializer.Deserialize<HelloResponse>(jreader);
ありがとう!