从触发器内调用Web服务的最佳实践是什么(SQL Server)

jco*_*lum 2 .net sql-server web-services

当表中的特定列发生更改时,我需要调用Web服务.我可以处理插入/更新/删除中更改了哪个列的决定,但我不确定应该如何调用webservice.

Web服务是异地的,我们对它有一点控制(我们可以请求更改并获得相当快速的响应)但是服务正在进行中,我们的代码也是如此.

SQL Server版本是2005.

更新:此应用程序中的大部分业务逻辑都在SQL层中.我没办法改变它并且抱怨它并不能很好地利用我的时间.就是这样.希望有一个业务逻辑层,但它部分位于pres层,部分位于SQL层.表中的触发器是最重要的位置.

dkr*_*etz 13

别.Web服务的开销与数据库的执行处理周期不兼容.将它从数据库中取出并(最好)使其异步 - 请参阅下面各种答案中对"queue/monitor"的引用.

可能也是一个重复的问题.

  • 它根本行不通.没有办法"发射并忘记"触发器.它不是异步的.将记录放入队列表并编写监视器应用程序以查找这些记录. (2认同)

Moo*_*ose 5

让触发器在表中插入一行,其中包含Web服务所需的任何数据,然后让外部进程监视该表,并在出现新行时调用Web服务.