我们有Windows应用程序并使用SqlDependency进行通知。日复一日的应用程序和数据库变得庞大而且运行缓慢。
获得SqlDependency等通知的最佳方法是什么?我们需要在SqlDependency等应用程序中进行类似的更改更新。 还有其他方法吗?或者在Sql Server 2014中的方式。
请建议。 感谢。
答案 0 :(得分:0)
您可以使用SqlDependency类的开源实现 - SqlDependencyEx。它使用数据库触发器和本机Service Broker通知来接收有关表更改的事件。这是一个用法示例:
int changesReceived = 0;
using (SqlDependencyEx sqlDependency = new SqlDependencyEx(
TEST_CONNECTION_STRING, TEST_DATABASE_NAME, TEST_TABLE_NAME))
{
sqlDependency.TableChanged += (o, e) => changesReceived++;
sqlDependency.Start();
// Make table changes.
MakeTableInsertDeleteChanges(changesCount);
// Wait a little bit to receive all changes.
Thread.Sleep(1000);
}
Assert.AreEqual(changesCount, changesReceived);
希望这有帮助。