繁体   English   中英

SqlDependency不触发C#

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM