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/

相关文章:

asp.net - IIS 7 中的 JSON Web 服务响应压缩

c# - asp.net ffmpeg 视频编码挂起

c# - 通过 Entity Framework 中的变量引用表

c# - 像 C# 方法 IL 一样发出 IL 但获取 System.InvalidProgramException : Common Language Runtime detected an invalid program

c# - 哪些方法在内部调用 GetHashCode?

c# - 动态 Div 创建 asp.net

javascript - 在div ASP.NET的单击事件的java脚本中调用服务器端函数

sql-server - 在数据库中存储英尺/英寸

sql-server - 如何减少 Entity Framework 的连接超时?

c# - c++ exe如何定位c# dll?