我需要修改现有的 Windows CE 应用程序,该应用程序从 SQL Compact 数据库 (sdf) 获取数据,以便在将数据库表(只有 1 个表)与 SQL Server Express 对接时的最新记录更新到机器上。
我遇到了 Microsoft Sync Framework,它似乎能够让我实现我的要求。我尝试了他们的演练之一:创建偶尔连接的智能设备应用程序,但无法使应用程序正常工作(我根据指南以及示例代码创建的应用程序)。WCF 服务已成功托管,我也可以从浏览器浏览到该服务。
我在 SynchronizeMenuItem 的单击事件的下一行遇到错误。
Dim syncStats As Global.Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
下面是来自输出窗口的跟踪:
“MobileSyncServices.exe”(托管):已加载“System.SR.dll”
System.dll 中发生“System.Net.WebException”类型的
第一次机会异常“System.ServiceModel.EndpointNotFoundException”类型的第一次机会异常发生在System.ServiceModel.dll
System.dll 中发生“System.Net.Sockets.SocketException”类型的
第一次机会异常 System.dll 中发生“System.Net.Sockets.SocketException”类型的第一次机会异常
线程 0x771e2c1e 已退出代码为 0 (0x0)。
mscorlib.dll 中发生了“System.Reflection.TargetInvocationException”类型的第一次机会异常
我一直在尝试找到解决此问题的方法,因为 2 天后我没有遇到任何问题,因此将其发布在这里。我已经安装了所有作为前提条件的框架/服务包。你们有没有人尝试过这个演练并遇到过类似的问题?更让我感到困惑的是,示例代码在我的两台开发机器(一台是 Win XP 和 Win 7)中也失败了。
是否有任何其他替代方法可以在停靠时使用 SQL Express Server 更新 Windows CE 设备中的表?