高级数据库服务器:.NET Advantage 扩展过程的热替换

发布于 2024-10-05 11:11:50 字数 123 浏览 2 评论 0原文

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

I have a several Advantage Extended Procedures written in the .NET and running on my Advanced Database Server. Right after I make the first call to the SP, the .NET assembly becomes locked. I need to update the assembly with a new version. The only way up to this moment I have found - the restart of the ADS. This is absolutely uncomfortable. Is there are some other way to unlock my assembly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心头的小情儿 2024-10-12 11:11:50

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

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

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

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

The easiest way to test/debug an Advantage Extended Procedure (AEP) is to use Advantage Local Server (ALS) which will be loaded each time you run your test application and unloaded when the test application is terminated.

When using Advantage Database Server (ADS) you must ensure that any clients using the stored procedure are disconnected. Advantage keeps the DLL in memory until all the connections that have used the stored procedure are closed. If you terminate your test application abnormally the server does not know that the application has closed. The connection will be cleaned up by the server if the client does not respond within the client timeout setting, defaulted to two minutes.

You can also start ADS as an executable using the /EXE switch as a part of your debugging. This can automatically start and stop ADS when you are debugging your AEP. However, you will need to start a test application separately when using this method.

Additionally you should disable DLL Caching by calling the ADS_DD_DISABLE_DLL_CACHING system procedure prior to debugging AEPs. By default ADS makes a copy of the DLL containing your stored procedure(s) and checks for newer versions when the DLL is accessed. Disabling this feature ensures that you are always using the latest version of the DLL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文