我想减少我的应用程序解决方案(许多应用程序、1 个数据库、一些第 3 方)中的轮询,客户想要最新的 GUI 状态正在发生的事情。是否可以通过 .NET 代码将事件处理程序添加到使用 SQL Server 技术的表或数据库中?
以下是我遇到的一些解决方案:
- 具有外部激活的 SQL Server Service Broker - 仅启动新应用程序,而不是真正的“事件处理程序”类型的场景
- CLR 存储过程 - 功能有限,显然在获取 GUI 状态屏幕的事件时会遇到同样的问题
- 去自定义 - 我可以做一些疯狂的事情,比如让 SQL Server 在一个文件夹中创建一个文件(使用 XP 命令 shell),当一个合格的事件发生时,一个触发器,然后让一个
FileSystemWatcher
对象拾取文件更改事件并以这种方式触发它,但不知何故闻起来很糟糕。