我在C#中有一个程序,它允许用户发送和接收文本消息,接收传入文本的服务器解析消息然后将它们放入SQL数据库,我想知道是否有一种方法可以检测到插入进入此数据库的新行,并触发一个事件,通知用户新的传入消息?
答案 0 :(得分:4)
答案 1 :(得分:0)
我建议使用Windows服务,它将监视SQL Server数据库中添加的消息,然后触发相应的操作。另一种方法是使用MSMQ,您可以在插入数据库后将消息发送到MSMQ。有一张桌子
User Id , MessageCount Last Message DateTime
1 2 1/1/2014 12:30
并在收到消息时更新此表。
答案 2 :(得分:-1)
当然有。您可以编写触发器,也可以使用更改数据捕获机制。
答案 3 :(得分:-1)
为什么不试试CLR触发器?
http://msdn.microsoft.com/en-us/library/ms254959%28v=vs.110%29.aspx
您可以从CLR过程中触发事件。
虽然这不是解决问题的方法。应将这些消息放入ServiceBus队列并在单独的线程或进程上异步处理(例如Azure中的辅助角色?)
答案 4 :(得分:-2)