c# – 未触发SqlTableDependency onchange事件
发布时间:2020-12-15 07:57:55 所属栏目:百科 来源:网络整理
导读:我有一个SqlTableDependency的问题.当我对欲望表进行插入/更新/删除时,不会调用My Changed方法. OnStatusChanged事件正常工作. string conn = @"data source=secret server; integrated security=True; initial catalog=secret db;User id=secret user"; var
我有一个SqlTableDependency的问题.当我对欲望表进行插入/更新/删除时,不会调用My Changed方法. OnStatusChanged事件正常工作.
string conn = @"data source=secret server; integrated security=True; initial catalog=secret db;User id=secret user"; var mapper = new ModelToTableMapper<SqlDataModel>(); mapper.AddMapping(c => c.datavalue,"datavalue"); using (var dep = new SqlTableDependency<SqlDataModel>(conn,"data",mapper)) { dep.OnChanged += Changed; dep.OnStatusChanged += OnStatusChanged; dep.OnError += OnError; dep.TraceLevel = TraceLevel.Verbose; dep.TraceListener = new TextWriterTraceListener(Console.Out); dep.Start(); Console.WriteLine("Press a key to exit"); Console.ReadKey(); dep.Stop(); } } static void OnStatusChanged(object sender,StatusChangedEventArgs e) { Console.WriteLine(e.ToString()); } static void OnError(object sender,ErrorEventArgs e) { Console.WriteLine(e.ToString()); } static void Changed(object sender,RecordChangedEventArgs<SqlDataModel> e) { if (e.ChangeType != ChangeType.None) { var changedEntity = e.Entity; Console.WriteLine("DML operation: " + e.ChangeType); Console.WriteLine("value: " + changedEntity.datavalue); } } 以上代码我基于https://tabledependency.codeplex.com/wikipage?title=SqlTableDependency 解决方法
我在sys.transmission_queue表中找到了错误:
在目标队列中排队消息时发生异常.错误:
即使数据库已经给了我完全许可,我还没有做 ALTER AUTHORIZATION ON DATABASE::secret db TO sa (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |