L'événement SqlTableDependency onchange n'a pas été déclenché

J'ai un problème avec SqlTableDependency. Ma méthode modifiée n'est pas invoquée lorsque je fais insert / mettre à jour / supprimer pour désirer la table. L'événement OnStatusChanged fonctionne correctement.

ssortingng 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.ToSsortingng()); } static void OnError(object sender, ErrorEventArgs e) { Console.WriteLine(e.ToSsortingng()); } 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); } } 

Ci-dessus le code basé sur https://tabledependency.codeplex.com/wikipage?title=SqlTableDependency Je suis sûr que j'ai et j'utilise le rôle db_owner. J'ai activé le broker, je vois que les sortingggers, les services etc sont créés dans mssql db.

entrez la description de l'image ici

J'ai finalement trouvé une erreur dans ma table sys.transmission_queue: Une exception s'est produite lors de la mise en queue d'un message dans la queue cible. Erreur:

15517, État: 1. Impossible d'exécuter en tant que principal de la database car le principal "dbo" n'existe pas, ce type de principal ne peut pas être emprunté, ou vous n'avez pas d'autorisation.

Même si la database déjà je me suis donné la permission complète, je devais encore faire

 ALTER AUTHORIZATION ON DATABASE::secret db TO sa