我正在开发.NET CF客户端应用程序,并使用Web服务进行数据传输。我正在使用SharpZipLib压缩传输的数据集,所以我知道传输的字节数组的大小。
我想知道是否有一种简单的方法来确定单个调用的请求大小(html标头,soap信封和实际数据)。我真的想最小化GPRS连接成本。
谢谢...
最佳答案
重新提出整体问题;抱歉,我不知道该不该使用网络跟踪器...
然而;我可以谦虚地建议数据集和SOAP并不总是带宽受限设备上的最佳选择吗?压缩效果不错,但并不总是理想的。除非您需要提供的功能,否则可以使用更简单的协议(例如POX,也许使用内置协议压缩(GZIP / Deflate))。
另一方面,如果您可以将事物表达为消息,那么protobuf-net之类的序列化程序可能会很有用(与原始二进制帖子结合使用);它们的数据非常密集(因此尝试使用压缩不可避免地会增加大小)。但是,您需要在客户端进行自己的数据/更改跟踪,并且RPC堆栈尚未完成(我正在使用原型代码,但是我尚未提交它,因为我仍然对其进行单元测试)。服务器也将不同(即不是asmx或其他任何东西-也许是操纵的处理程序或MVC控制器)。
作为另一种选择-ADO.NET数据服务可能会引起人们的关注,尤其是在JSON模式下(对于带宽,再次使用协议压缩)。