暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

金仓数据库KingbaseES客户端编程接口指南-ado.net(11. 等待通知)

数据猿 2022-09-09
279

11. 等待通知

11.1. KingbaseES 异步消息

KingbaseES有一个特性,可以在客户端之间发送任意通知消息。例如,一个客户端可能会等到另一个客户端通知它应该执行的任务。 通知本质上是异步的,它们可以再任何时候到达。

11.2. 处理通知

Kdbndp 通过 KdbndpConnection上的 Notification 事件公开通知消息。

由于很少使用异步通知并且处理可能很复杂,因此 Kdbndp 仅将通知消息作为常规(同步)查询交互的一部分进行处理。 也就是说,如果发送了异步通知,Kdbndp 只会在下一次发送和处理命令时处理它并向用户发出事件。

要在同步请求-响应周期之外接收通知,请调用 KdbndpConnection.wait()。这将使您的线程阻塞,直到收到单个通知 (请注意,存在超时版本和异步版本)。请注意,通知仍然像以前一样通过 Notification 事件传递。

var conn = new KdbndpConnection(ConnectionString);
conn.open();
conn.Notification += (o, e) => Console.WriteLine("Recieved notification");

using(var cmd = new KdbndpCommand("LISTEN channel_name", conn)){
    cmd.ExecuteNonQuery();
}

while(true){
    conn.Wait(); /* 此处将阻塞线程 */
}
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论