servicestack,Rest,Compact Framework,servicestack" /> servicestack,Rest,Compact Framework,servicestack" />

Rest 服务器和.NET Compact Framework客户端上的ServiceStack

Rest 服务器和.NET Compact Framework客户端上的ServiceStack,rest,compact-framework,servicestack,Rest,Compact Framework,servicestack,我用ServiceStack创建了我的服务器和客户端(MonoDroid和Windows),一切都很好,但现在我需要使用带有Compact Framework F3.5的移动客户端来使用服务器上的数据 我可以作为SOAP Web服务访问它,但我更喜欢使用REST,并使用一个框架来简化事情,就像ServiceStack客户端一样(RestSharp与Compact框架不兼容) 您知道有什么与CF3.5兼容的东西可以让我以一种简单的方式连接ServiceStack服务器吗 var client =

我用ServiceStack创建了我的服务器和客户端(MonoDroid和Windows),一切都很好,但现在我需要使用带有Compact Framework F3.5的移动客户端来使用服务器上的数据

我可以作为SOAP Web服务访问它,但我更喜欢使用REST,并使用一个框架来简化事情,就像ServiceStack客户端一样(RestSharp与Compact框架不兼容)

您知道有什么与CF3.5兼容的东西可以让我以一种简单的方式连接ServiceStack服务器吗

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();
字符串响应;
使用(var reader=newstreamreader(respStream,Encoding.UTF8))
{
resps=reader.ReadToEnd();
}
respStream.Close();
JsonTextReader jreader=newjsontextreader(newstringreader(resps));
JsonSerializer serializer=新的JsonSerializer();
HelloResponse p=序列化程序。反序列化(jreader);
谢谢

已创建请求:

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://192.168.0.87:82/json/syncreply/Hello");
            req.ContentType = "text/json";
            req.Method = "POST";
            req.ContentLength = json.Length;

            using (var streamWriter = new StreamWriter(req.GetRequestStream()))
            {
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://192.168.0.87:82/json/syncreply/Hello");
            req.ContentType = "text/json";
            req.Method = "POST";
            req.ContentLength = json.Length;

            using (var streamWriter = new StreamWriter(req.GetRequestStream()))
            {
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
            }