[英]NPGSQL handling postgre notifications requiring command
我最近开始使用SignalR和NPGSQL处理从postgre db到C#异步代码的通知。
经过数小时的尝试,终于坐下来阅读了我必须阅读的内容之后,我来到了NpgSql文档,其中指出:
由于很少使用异步通知,并且处理可能很复杂,因此Npgsql仅将通知消息作为常规(同步)查询交互的一部分进行处理。 也就是说,如果发送了异步通知,则Npgsql将仅对其进行处理,并在下次发送和处理命令时向用户发出事件。
因此,为使NpgSql接收通知并将其异步传递给C#中的自定义函数,它需要执行另一条命令来实际触发并接收它。
对我来说,此功能破坏了我最初尝试做的所有事情(异步接收通知,而无需执行任何其他操作)。
现在,为了确保我收到通知,我必须为
选择1
每5秒触发一次.net中的异步通知。
你们中谁知道在没有这种要求的情况下处理通知的.net postgre db层?
谢谢!
由于很少使用异步通知,并且处理可能很复杂,因此Npgsql仅将通知消息作为常规(同步)查询交互的一部分进行处理。 也就是说,如果发送了异步通知,则Npgsql将仅对其进行处理,并在下次发送和处理命令时向用户发出事件。
你是在哪里找到那个东西的。 此处的Npgsql文档显示了处理现代版本中通知的正确方法-反复调用NpgsqlConnection.Wait()
( WaitAsync()
),该方法将一直阻塞,直到收到通知为止,并通过NpgsqlConnection.Notification
事件将其分派。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.