0

我有几个用 .NET 编写并在我的高级数据库服务器上运行的Advantage 扩展过程。在我第一次调用 SP 之后,.NET 程序集被锁定。我需要用新版本更新程序集。到目前为止,我发现的唯一方法是重新启动 ADS。这绝对不舒服。还有其他方法可以解锁我的程序集吗?

4

1 回答 1

1

测试/调试 Advantage 扩展过程 (AEP) 的最简单方法是使用 Advantage Local Server (ALS),每次运行测试应用程序时都会加载该服务器,并在测试应用程序终止时卸载该服务器。

使用 Advantage Database Server (ADS) 时,您必须确保所有使用存储过程的客户端都已断开连接。Advantage 将 DLL 保留在内存中,直到所有使用过存储过程的连接都关闭。如果您异常终止测试应用程序,则服务器不知道该应用程序已关闭。如果客户端在客户端超时设置(默认为两分钟)内没有响应,服务器将清理连接。

您还可以在调试过程中使用 /EXE 开关将 ADS 作为可执行文件启动。这可以在您调试 AEP 时自动启动和停止 ADS。但是,使用此方法时,您需要单独启动一个测试应用程序。

此外,您应该在调试 AEP 之前调用 ADS_DD_DISABLE_DLL_CACHING 系统过程来禁用DLL 缓存。默认情况下,ADS 会制作包含存储过程的 DLL 副本,并在访问 DLL 时检查更新版本。禁用此功能可确保您始终使用最新版本的 DLL。

于 2010-12-02T18:40:49.707 回答