本节介绍了如何向 UltraLite.NET 应用程序添加 ActiveSync 同步,以及如何在最终用户的计算机上注册应用程序以与 ActiveSync 配合使用。
有关设置 ActiveSync 同步的一般信息,请参见部署使用 ActiveSync 的应用程序。有关在应用程序中添加同步的一般信息,请参见 UltraLite 客户端。
ActiveSync 同步只能由 ActiveSync 启动。当设备放置在底座中或者从 ActiveSync 窗口选择了 [同步] 命令时,ActiveSync 会启动同步操作。
当 ActiveSync 启动同步时,MobiLink ActiveSync 提供程序也启动 UltraLite 应用程序(如果它尚未运行)并向它发送消息。应用程序必须执行 ULActiveSyncListener 以接收和处理来自 MobiLink 提供程序的消息。您的应用程序必须使用 SetActiveSyncListener 方法指定 listener 对象,其中 MyAppClassName 是应用程序的唯一 Windows 类名。
dbMgr.SetActiveSyncListener( "MyAppClassName", listener );
有关详细信息(包括示例代码),请参见 接口 ULActiveSyncListener(iAnywhere.Data.UltraLite 命名空间)或 接口 ActiveSyncListener(iAnywhere.UltraLite 命名空间)。
当 UltraLite 收到 ActiveSync 消息时,它将在另一个线程上调用指定监听器的 ActiveSyncInvoked() 方法。为避免多线程问题,ActiveSyncInvoked() 方法应将事件发布到用户界面。
如果应用程序是多线程的,请使用单独的连接并利用 lock 关键字(在 C# 中)或 SyncLock 关键字(在 Visual Basic .NET 中)来访问与应用程序的其余部分共享的任何对象。ActiveSyncInvoked() 方法应为其连接的 SyncParms.Stream 指定一个 ULStreamType.ACTIVE_SYNC,然后调用 ULConnection.Synchronize()。
注册应用程序时,请设置以下参数。
类名 该应用程序用于 Connection.SetActiveSyncListener 方法的同一个类名。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。