为什么不';t SQL Server Service Broker通知我插入表

本文关键字:通知 Broker 插入 Service Server SQL 为什么不 | 更新日期: 2024-04-03 08:39:19

我已经建立了一个列表,应该知道它的数据源的更改,或多或少如下:

public class SharedList<T>: ObservableCollection<T> where T: XTimeEntity
{
    private const string DependencyQuery = "select TITLE_ACTIVE, TITLE_NAME from TITLE";
    private readonly SqlDependency _dependency = new SqlDependency();
    public SharedList()
    {
        var connectionString = ConfigurationManager.ConnectionStrings["XTime900Context"].ConnectionString;
        SqlDependency.Stop(connectionString);
        using (var sqn = new SqlConnection(connectionString))
        {
            using (var cmd = new SqlCommand(DependencyQuery, sqn))
            {
                _dependency.AddCommandDependency(cmd);
            }
        }
        _dependency.OnChange += DependencyOnOnChange;
        PopulateList();
        SqlDependency.Start(connectionString);
    }
}

然而,当我在SSMS中执行insert TITLE values (1, 1, 'Mr.')时,没有触发任何事件。触发事件的更改是否必须对SqlConnection对象或其他对象进行?

为什么不';t SQL Server Service Broker通知我插入表

我认为您需要执行该命令。阅读官方文件,他们有一个样本。CCD_ 2是非常脆弱的。涉及到许多使用规则和比赛条件。