Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » UltraLite - .NET 编程 » 了解 UltraLite.NET 开发 » UltraLite 应用程序中的同步

 

向应用程序添加 ActiveSync 同步

本节介绍了如何向 UltraLite.NET 应用程序添加 ActiveSync 同步,以及如何在最终用户的计算机上注册应用程序以与 ActiveSync 配合使用。

ActiveSync 同步只能由 ActiveSync 启动。当设备放置在底座中或者从 ActiveSync 窗口选择了 [同步] 时,ActiveSync 会启动同步操作。

当 ActiveSync 启动同步时,ActiveSync 的 MobiLink 提供程序会启动 UltraLite 应用程序(如果它尚未运行)并向其发送消息。应用程序必须执行 ULActiveSyncListener 对象以接收和处理来自 MobiLink 提供程序的消息。应用程序必须使用 SetActiveSyncListener 方法指定监听器对象,其中,MyAppClassName 是应用程序的唯一 Windows 类名。

dbMgr.SetActiveSyncListener( "MyAppClassName", listener );

有关详细信息(包括示例代码),请参见ULActiveSyncListener 接口

当 UltraLite 收到 ActiveSync 消息时,它将在另一个线程上调用指定监听器的 ActiveSyncInvoked 方法。为避免多线程问题,ActiveSyncInvoked 方法应将事件发布到用户界面。

如果应用程序是多线程的,请使用单独的连接并利用 lock 关键字(在 C# 中)或 SyncLock 关键字(在 Visual Basic .NET 中)来访问与应用程序的其余部分共享的任何对象。ActiveSyncInvoked 方法应为其连接的 SyncParms.Stream 指定一个 ULStreamType.ACTIVE_SYNC,然后调用 ULConnection.Synchronize。

注册应用程序时,请设置以下参数:

  • 类名   该应用程序所使用的类名与 Connection.SetActiveSyncListener 方法相同。