代码之家  ›  专栏  ›  技术社区  ›  Jonathan Allen

SqlDependency没有启动

  •  -5
  • Jonathan Allen  · 技术社区  · 6 年前

    SqlDependency没有启动。这是过去的事情,所以我不知道哪里出了问题。

        private static void Main(string[] args)
        {
            SqlDependency dependency;
            var connectionString = "Server=localhost;Database=SqlServerTestDatabase;Trusted_Connection=True;";
            using (var connection = new SqlConnection(connectionString))
            {
                connection.Open();
                using (var command = new SqlCommand("SELECT FullName, State FROM [Sales].[Customer]", connection))
                {
                    dependency = new SqlDependency(command);
                    SqlDependency.Start(connectionString);
                    dependency.OnChange += new OnChangeEventHandler((s, e) =>
                    {
                        Console.WriteLine("Success!!!!");
                    });
                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read()) { } //NoOP
                    }
                }
    
                while (true)
                {
                    Console.WriteLine($"Waiting for event. dependency.HasChanges = {dependency.HasChanges}");
                    Thread.Sleep(1000);
                }
            }
        }
    

    触发事件的SQL:

    INSERT INTO Sales.Customer(FullName, State ) VALUES ( N'Test 123', 'CA');
    

    用户是 sysadmin 服务代理在数据库级别启用。

    数据库版本:14.0.2002.14

    1 回复  |  直到 6 年前
        1
  •  0
  •   Jonathan Allen    6 年前