本地数据库的USB同步到WP7

时间:2011-05-28 12:14:55

标签: windows-phone-7 silverlight-4.0 c#-4.0

我要求SQL服务器上的数据需要通过USB同步到WP7设备。 我最初想过写一个WCF Lib。但它会上网和放大即使设备连接到本地网络中的USB也是同步的(通过本地网络获取数据比通过互联网获取数据更容易和更便宜)。

我已编码隔离存储以保存同步的数据,但我需要一种有效的方法从本地网络获取数据,同时它连接到本地网络。

我的问题是:

  1. 在WCF中连接到本地网络时,有没有办法从本地网络请求数据?
  2. 有人有C#代码可以用来通过本地网络向usb写入同步例程吗? (我希望有代码,如果有人有这个)
  3. 有没有更好的方法来实现我想要做的事情?
  4. 我希望能为这个问题找到一些快速的答案,非常感谢任何帮助。

    感谢。

3 个答案:

答案 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时运行。