我刚刚开始使用 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/