asp.net - Web 应用程序中的 CLR 触发器?

标签 asp.net sql-server clr signalr

我刚开始使用 SQL-CLR 创建一个非常基本的触发器......但是当我这样做的时候另一个问题“弹出”.. 无论如何,实际上是否有一个 SQL 触发器来触发 Web 应用程序中的一个方法?.. 我的第一个想法是拥有一个 Web 服务,该服务将位于 SQL-CLR 随后调用的 Web 应用程序中。 整个想法是,一旦触发器被“触发”..它会调用一个 SignalR-hub,然后提醒客户端数据库中发生了一些事情.. 整个事情对我来说更具实验性.. 我不能使用网络服务方式的原因是每次触发器被“触发”时都需要额外的请求

最佳答案

不要从触发器进行 HTTP 调用。引入这种耦合会降低性能、降低可用性、增加延迟并使系统极其脆弱(HTTP 故障会导致触发器故障,从而导致事务失败)。

而是将 HTTP 调用与触发器分离。在触发器中将调用请求放在 queue 中并让 HTTP 请求从监视队列的外部进程完成。

监控数据库变化的系统已经存在,Query Notification用于实时更改和 Change Tracking对于断开连接的系统。

关于asp.net - Web 应用程序中的 CLR 触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11792720/

相关文章:

sql - 如果条件适用则获取行否则单行

asp.net - 在 ASP.NET 中运行 Popup 的多个实例

sql-server - 删除重复数据并加载到 SQL Server 中的另一个表中

javascript - 在表格行的末尾添加编辑/删除按钮

c# - 如何从 Windows 服务访问 localDB

c# - 为什么 'unbox.any' 不像 'castclass' 那样提供有用的异常文本?

.net - IronPython、Python for .NET 的任何替代方案,用于从 python 访问 CLR?

c# - CLR 和 CLI 的区别以及如何从纯 C 中调用它们

c# - 让 NHibernate 在中等信任的共享主机上工作

javascript - 如何将css类添加到一组链接中的特定链接?