为什么SqlDependency对象无法检测到SQL Server表中的更改?

时间:2018-07-28 12:42:34

标签: c# .net sql-server c#-4.0 sqldependency

我已经尝试了3天了,但是没有成功。

如果特定表的单元格被修改,我正在使用SqlTableDependency nuget包来获取通知。我已启用服务代理。

我已采取一切必要措施。启动应用程序后,它会在表上自动创建触发器,队列,合同,消息类型,并在关闭应用程序时安全处理,但从不返回结果。数据库用户具有Db_Owner角色,但所有角色仍然无法正常工作。请帮我。我对此感到沮丧和厌倦。已经三天了。

我以表格的编辑模式或使用更新查询来更改值。

我正在关注此链接。它具有所有必要的步骤以及演示视频。 https://github.com/christiandelbianco/monitor-table-change-with-sqltabledependency

代码:

namespace SqlDependency
{
    class Users
    {
        public string UserName { get; set; }
        public string Password { get; set; }
    }

    class Program
    {
        const string ConnectionString = @"Data Source=(local);Initial Catalog=HimHer; Integrated Security=True";

        static void Main(string[] args)
        {
            using(var dep = new SqlTableDependency<Users>(ConnectionString) )
            {
                dep.OnChanged += Dep_OnChanged;

                dep.Start();

                Console.WriteLine("Press a key to exit");
                Console.ReadKey();

                dep.Stop();
            }

            Console.WriteLine("Waiting For Changes ..... ");
            Console.ReadLine();
        }

        private static void Dep_OnChanged(object sender, RecordChangedEventArgs<Users> e)
        {
            var changedEntity = e.Entity;

            Console.WriteLine("DML operation: " + e.ChangeType);
            Console.WriteLine("ID: " + changedEntity.UserName);
            Console.WriteLine("Name: " + changedEntity.Password);
        }
    }

}

0 个答案:

没有答案