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/

相关文章:

c# - 如何实现邮件验证组件

asp.net - AngularJs + ServiceStack 应用程序的安全性

sql-server - 使 SQL Server 索引较小

mysql - 在内连接中传递第二个表中的所有值

x86 - 像 CLR 和 JVM 这样的运行时能够使用 Haswell TSX 指令吗?

c# - 检索域 url

javascript - 为什么不能从 javascript 更改 asp.net 中的标签文本?

php - 在处理用户权限时,如何根据 SQL 表中的值获取所有可能的结果?

c# - VB.NET 奇怪的 IF 语句行为,总是其他

c# - "final"在 IL 中是什么意思?