需要firebird事件侦听器第二次连接到.NET上的服务器吗?
我正在编写.NET4应用程序,用于同步数据。我想使用Firebird(v2.5)事件,如中的 我的问题:我是否需要一个额外的连接来监听事件,另一个用于数据传输?我在示例中看到,事件侦听器的连接保持打开状态需要firebird事件侦听器第二次连接到.NET上的服务器吗?,.net,events,firebird,.net,Events,Firebird,我正在编写.NET4应用程序,用于同步数据。我想使用Firebird(v2.5)事件,如中的 我的问题:我是否需要一个额外的连接来监听事件,另一个用于数据传输?我在示例中看到,事件侦听器的连接保持打开状态 感谢您的回答。理论上,您可以使用用于启动事件侦听数据传输的连接。事件在引擎盖下使用不同的通道。因此,我只对客户端的最新版本(v2.7.7)进行了一些测试,看起来连接必须保持打开状态。在关闭连接的情况下,侦听线程将终止,并出现以下异常(来自调试输出): 实际上呢?:-)传输连接是在每次运行传输作
感谢您的回答。理论上,您可以使用用于启动事件侦听数据传输的连接。事件在引擎盖下使用不同的通道。因此,我只对客户端的最新版本(v2.7.7)进行了一些测试,看起来连接必须保持打开状态。在关闭连接的情况下,侦听线程将终止,并出现以下异常(来自调试输出):
实际上呢?:-)传输连接是在每次运行传输作业时打开和关闭的…那么,这是否意味着我可以打开()、注册侦听器和关闭()?这在很大程度上取决于您何时关闭它。我还没有找到的是如何优雅地结束侦听会话。若我只是关闭连接,我得到上面的异常,然后监听线程被关闭。。。此时,额外连接没有问题,应用程序在两个客户端服务器实例(本地数据库)上运行。您应该调用
CancelEvents
。
A first chance exception of type 'System.InvalidOperationException' occurred in FirebirdSql.Data.FirebirdClient.dll
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in FirebirdSql.Data.FirebirdClient.dll
An exception of type 'System.Threading.ThreadAbortException' occurred in FirebirdSql.Data.FirebirdClient.dll but was not handled in user code
The thread 'FirebirdClient - Events Thread' (0x1e8c) has exited with code 0 (0x0)