gpt4 book ai didi

c# - 来自数据库的通知而不是轮询。是否可以?

转载 作者:行者123 更新时间:2023-11-30 17:58:14 25 4
gpt4 key购买 nike

大家好,

为了监控数据库上的指定表,我每隔几毫秒(10-20 毫秒)轮询一次。

是否有机会获得通知(避免 SqlDependency,在我的场景中它太慢)而不是轮询?

你有什么想法吗?

我的场景是.net + Sql Server 2008

谢谢!

最佳答案

这可以通过使用将调用 WCF/或 Web 服务的 CLR 存储过程来完成。这不是很难做到的事情。

这实际上需要 2 个步骤。

  1. 数据的修改。修改数据后,您必须将数据发送到 clr 存储过程。最简单的方法是将其写入一个或多个临时表。

  2. clr 存储过程。clr 存储过程将使用

    连接到数据库

    “上下文连接=真”

这样您就可以访问所需的存储过程。加载数据后,您将其发送到服务器 (WCF/webservice)。在 CLR 中,您只需添加所需的服务引用。同样在服务器上,您必须注册一些 dll 供服务器使用:

system.web
smdiagnostics
system.runtime.serialization
system.identitymodel
system.identitymodel.selectors
system.messagng
system.transactions.bridge
system.servicemodel

其他一切都是调用 WCF/Web 服务的纯 .NET 代码。这种方法非常快速且非常可靠。

关于c# - 来自数据库的通知而不是轮询。是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12531262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com