我有一个ASP .NET web服务,它利用来自客户端的长期连接。
在15分钟内,Web服务检查SQL表中记录中字段值的更改。如果该值发生变化,则它将立即向使用ReadMessage的客户端发送响应。对数据库的检查/轮询每30秒进行一次。这有几个缺点:
我想要的是找到一种方式,通知主动http客户端的Web服务,记录已经更新。
还应该注意到,到web服务的每个客户端连接在表中都有自己的特定记录。
发布于 2011-11-21 21:45:56
我认为SqlDependency是你要找的。查询通知允许应用程序在查询结果发生更改时收到通知。
发布于 2011-11-21 20:38:36
您考虑过在数据库中设置一些触发器吗?如果使用的是Server,则可以使用Server集成。
http://msdn.microsoft.com/en-us/library/ms254963%28v=VS.80%29.aspx
发布于 2011-11-21 20:40:02
你可以在桌子上放个扳机。免责声明:我试图远离触发器,因为编写一个错误很容易,而当错误发生时,很难进行调试。但是,我从来没有编写过CLR触发器,而且我认为这样做更安全,因为您对错误处理有更多的控制。
但是更好的做法是让更新表的任何过程开始,如果这是一个选项,那么通知您的But服务更改。
https://stackoverflow.com/questions/8218170
复制相似问题