整个程序如下所示:感觉SqlDependcy有点怪,不是很清楚其设计原理。
这里有几个关键点:
1. 启用broker并有相应的权限
2. 调用的顺序要注意。
3. 能够使用的SQL语句有一定限制,具体见参考手册
4. 在获取数据中,每次通知到来的时候都要再注册通知提示(就这点不清楚),不然在执行查询时会出现“查询通知订阅消息无效。”错误(不知识这错误是怎么来的,而且非调试状态下不同出现!(也就是说没反应 ~~):
SqlDependency depend = new SqlDependency(com);
depend.OnChange += new OnChangeEventHandler(depend_OnChange);
这两行代码要每次获取数据时调用!