2

我对 .NET 中 SqlDependency 的使用有疑问。我已经阅读了文档,但我仍然不清楚 OnChange 事件是否在其自己的线程中被调用。例如,如果我得到 30 个并发事件,它们每个都有自己的 OnChange 偶数处理程序吗?我问的原因是,如果在 OnChange 处理程序中完成的工作阻止了下一个事件,我不想用这个创建引擎。

例如,我有一个 Orders 数据库的 SqlDependency,每次有新订单时,我都会收到 OnChange 事件,然后我可以处理用户的订单。这不会阻止其他人进来,对吗?

另外,您是否发现使用此方法有任何问题?SqlDependency 似乎是一个非常强大的功能,所以我希望它可以这样工作。;)

谢谢

4

1 回答 1

4

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldependency.aspx

根据上面链接中 SQLDependancy 类的 msdn 信息中的注释,quote->

"The OnChange event may be generated on a different thread from
 the thread that initiated command execution. "

另一方面,在同一页面上是以下注释,quote->

"SqlDependency was designed to be used in ASP.NET or middle-tier 
 services where there is a relatively small number of servers 
 having dependencies active against the database. It was not 
 designed for use in client applications, where hundreds or
 thousands of client computers would have SqlDependency
 objects set up for a single database server. "
于 2012-07-13T15:25:48.793 回答