首先是“减少数据流量”的想法。很好。
特别是对于移动设备。除此之外,不要认为 WCF xml 会导致 PC 出现网络问题。XM 是最可压缩的格式之一。通过 WCF 二进制文件,它会被压缩。
对于“有没有办法在不做太多工作的情况下做到这一点?”
是的,上面有一个方式名称 RESTFul Services(Restless Services)。现在微软通过WEBApi直接支持了。
您也可以使用 ODATA 进行过滤、排序操作
这里有一些链接,
http://msdn.microsoft.com/en-us/library/system.servicemodel.web.webgetattribute.aspx
http://blogs.msdn.com/b/rjacobs/archive/2010/06/14/how-to-do-api-key-verification-for-rest-services-in-net-4.aspx
ODATA
http://www.odata.org/documentation/uri-conventions#FilterSystemQueryOption
一些练习笔记,一些限制:
从具有 IsReferenceType 属性的 EntityObject 派生的 EntityFrameWork 实体不允许您进行 JSON 序列化。(我使用自动映射器生成 POCO 对象并将它们映射并序列化 json)
WEBAPI 支持你想的很多如 WebGet,WebInvoke GetXML 提供 JSON ,ODATA 特性(只允许选择和格式化。)
注意:在您的 Web 请求的标头中,您应该接受 text/json 以获得真正的 json。
“对于JSON结果,你需要将它们解析成一个对象还是......”
我可以说你应该试试JSON.NET,它的可移植库无处不在。当您使用泛型函数反序列化时,它会返回您期望的集合。
希望它可以帮助某人。在发现这些 stackoverflow 时,我就像一个助手一样帮助了我。