[英]SqlDependency Not firing c#
嗨,我正在尝试将Sql Dependency实现到我的Windows服务代码中。 我已经将服务代理设置为true。 我已经在Windows On Start方法中编写了此代码。 表中有新条目时,应立即启动OnDependencyChange方法。 但这永远不会发生。 这是我的代码,
System.Data.SqlClient.SqlDependency.Start("connection
string;database=dbName;Integrated Security=True;");
SqlConnection connection = new SqlConnection("connection
string;database=dbName;Integrated Security=True;");
connection.Open();
using (SqlCommand command = new SqlCommand("SELECT * FROM
UserDetails", connection))
{
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new
OnChangeEventHandler(OnDependencyChange);
using (SqlDataReader reader = command.ExecuteReader())
{
// Process the DataReader.
}
}
void OnDependencyChange(object sender, SqlNotificationEventArgs e)
{
// Handle the event (for example, invalidate this cache entry).
}
请帮忙。
我认为您遇到了安全问题。 如果我没记错的话,有一个已知的问题与使用SqlDependency所需的权限有关。 首先,您需要验证并最终启用Service Broker功能。 然后,您需要启用查询通知 。 只有在那之后,才可以启用SqlDependency事件来检测数据修改: 使用SqlDependency检测更改
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.