1 开发环境的搭建
Step 1: Install Visual studio 2008(VS2010及以后的版本不支持Smart Device Project)
Step 2: Install Windows Mobile 6 Professional Software Development Kits
Step 3: Install Windows Mobile 6.5.3 Develop Tool Kit
Step 4: Install Windows mobile device center (it’s the new generation tool to replace ActiveSync)
2 注意事项
Windows Mobile上用的是.Net Compact Framework,它是普通Framework的精简版,两者区别如下:
Differences Between the .NET Compact Framework and the .NET Framework
服务端可以选择Web Service或WCF,后者只能使用basicHttpBinding,因为目前Compact Framework不支持双工协议。
对于服务返回的结果为复杂类型(非int, string等简单类型)时,最好用弱类型的DataSet来封装,虽然代码不是很好看,但是省事、高效。
- 如果返回自定义对象,则需要注意序列化的问题,和引用服务的时候能不能识别这些自定义对象。
- 如果返回强类型DataSet,则需要考虑传输性能。强类型的DataSet比弱类型的体积要大很多,如果网络不理想,很容易引用响应慢的问题。
- 可以使用压缩来缩小传输对象的体积:将结果集存到弱类型的DataSet,之后序列化成byte[],然后再对字节流进行压缩(可以使用.Net自带的GZipStream)。这样客户端得到的是压缩后的byte[],需要进行解压缩,再反序列化成DataSet。
- 在自己当前的网络环境中测试发现:返回压缩后的字节流比直接返回弱类型DataSet,再比强类型DataSet,响应速度提升效果非常明显,从3s -> 2s -> 1s