我要求SQL服务器上的数据需要通过USB同步到WP7设备。 我最初想过写一个WCF Lib。但它会上网和放大即使设备连接到本地网络中的USB也是同步的(通过本地网络获取数据比通过互联网获取数据更容易和更便宜)。
我已编码隔离存储以保存同步的数据,但我需要一种有效的方法从本地网络获取数据,同时它连接到本地网络。
我的问题是:
我希望能为这个问题找到一些快速的答案,非常感谢任何帮助。
感谢。
答案 0 :(得分:0)
我的建议是你的WCF API有一个指向内部IP地址的DNS名称,该地址在本地网络之外是不可用的,在路由中它将通过USB和另一个指向外部的DNS名称解析IP地址仅在本地网络外部可用。您的应用程序将尝试首先使用本地IP地址进行连接,该地址应通过本地网络进行连接,如果失败,则应重试使用外部选项。
答案 1 :(得分:0)
您可以使用NetworkInterface.NetworkInterfaceType
来检测Ethernet
类型的连接。
实施完整同步协议很复杂,除非你真的需要,否则我不推荐尝试。
如果你确实沿着这条路线前进,我建议使用基于项目的消息队列,然后同步队列(并根据需要重放),而不是尝试同步数据库表。这取决于您的应用程序的要求和数据的性质。
答案 2 :(得分:0)
除了Murven和Matt的答案之外,我建议调查Microsoft Sync Framework,它支持WP7作为客户端,通常在服务器上使用WCF,并且支持广泛的边缘情况。
然后,根据Matt的回答,您可以观察连接变化,并在USB连接上启动与本地IP的同步。
在定位芒果时,您可以将其实现为ResourceIntensiveTask,并且即使应用未运行,它也会在连接USB时运行。