我刚刚开始使用 SQL-CLR 来创建一个非常基本的触发器......但是当我这样做时,另一个问题“弹出”了......无论如何,实际上是否有一个 SQL 触发器来触发 Web 应用程序中的一个方法? .我的第一个想法是有一个Web服务,它将位于SQL-CLR然后调用的Web应用程序中。整个想法是一旦触发器被“触发”..它将调用一个SignalR-hub然后提醒客户数据库中发生了一些事情..整个事情对我来说更具实验性..我不能使用网络服务方式的原因..是每次触发器获取时都需要额外的请求“触发”
问问题
494 次
1 回答
4
不要从触发器进行 HTTP 调用。引入这种耦合会导致性能下降,会降低可用性,增加延迟并使系统极其脆弱(HTTP 失败会导致触发器失败,进而导致事务失败)。
而是将 HTTP 调用与触发器分离。在触发器中,将调用请求放入队列中,并让 HTTP 请求从监视队列的外部进程完成。
监控数据库更改的系统已经存在,实时更改的查询通知和断开系统的更改跟踪。
于 2012-08-03T09:22:18.723 回答