Collection Contents 上一页 下一页 PDF

MobiLink 管理指南

使用 .NET 编写同步脚本

设置 .NET 同步逻辑


使用 .NET 实施同步脚本时最重要的部分在于通知 MobiLink 在哪里查找程序集中包含的程序包、类和方法。

使用 .NET 实施同步脚本:

  1. 创建您自己的类。为每个所需的同步事件编写方法。这些方法必须是公共的。

    有关方法的详细信息,请参见方法

    每个包含非静态方法的类都应具有公共构造函数。在第一次调用每个类中的方法进行连接时,MobiLink 同步服务器将自动创建该类的一个实例。

    有关构造函数的详细信息,请参见构造函数

  2. 创建一个或多个程序集。在编译时,可引用包含 MobiLink API 类存储库的 iAnywhere.MobiLink.Script.dll,以在自己的 .NET 方法中使用。iAnywhere.MobiLink.Script.dll 位于 SQL Anywhere 安装目录的 win32 子目录中。

    有关 MobiLink .NET API 的详细信息,请参见 MobiLink .NET API 参考

    您可以在命令行中或使用 Visual Studio .NET 或其它 .NET 开发环境来编译类。

    可以使用下面的命令从命令行引用 iAnywhere.MobiLink.Script.dll

    csc /out:c:\out.dll /target:library /reference:c:\iAnywhere.MobiLink.Script.dll sync_v1.cs

    上面的示例假定已将 iAnywhere.MobiLink.Script.dll 复制到 c:\

    有关 API 的完整说明,请参见 MobiLink .NET API 参考

  3. 在统一数据库的 MobiLink 系统表中,为每个同步脚本指定要调用的程序包、类和方法的名称。每个脚本版本中只允许存在一个类。

    要将这些信息添加到 MobiLink 系统表中,最简单的方法是使用 ml_add_dnet_connection_script 存储过程或 ml_add_dnet_table_script 存储过程。

    例如,如果在 Adaptive Server Anywhere 数据库中运行以下语句,这些语句将指定只要发生 authenticate_user 连接级别事件,即运行 myNamespace.myClass.myMethod。

    call ml_add_dnet_connection_script( 'version1',
    'authenicate_user', 'myNamespace.myClass.myMethod' )
    注意: 
    完全限定的方法名称区分大小写。

    此过程调用的结果是,ml_script 系统表的 script_language 列必须包含单词 dnet。而 script 列中的字符串必须包含公共 .NET 方法的限定名称,script 列中包含使用 SQL 实现的脚本语句。

    有关详细信息,请参见 ml_add_dnet_connection_scriptml_add_dnet_table_script

    您也可以使用 Sybase Central 添加此信息。

  4. 指示 MobiLink 服务器装载程序集并启动 CLR。可以使用 dbmlsrv9 命令行选项为 MobiLink 指定这些程序集的位置。有两个选项可以选择:


Collection Contents 上一页 下一页 PDF