Une nouvelle table est créée dans votre base de données qui contient le nom de la table sur laquelle vous souhaitez vérifier les mises à jour et un numéro de modification. Chaque table que vous avez configurée pour sqldependency a un déclencheur configuré pour les mises à jour/insertions qui incrémente le changeid dans la nouvelle table que je viens de décrire.
Votre modèle mental de la façon dont cela fonctionne est à l'envers. Votre application vérifie le journal pour déterminer si une table a été modifiée.
Donc, si la table du journal des modifications (c'est ainsi que je l'appelle) suit deux tables de votre base de données (produit, utilisateur), cela ressemblera à ceci.
+Table Name + ChangeNumber +
| Product | 1 |
+-----------+--------------+
| User | 1 |
+-----------+--------------+
Maintenant, si vous modifiez quoi que ce soit dans l'une de ces tables, le déclencheur incrémentera ChangeNumber
et nous savons maintenant qu'ils ont changé.
Évidemment, il y a plus que cela, mais c'est l'idée générale.
Remarque :Il convient de noter que vous pouvez invalider une page si une ou plusieurs tables changent, donc si votre page a une dépendance configurée pour ces deux tables, si l'une d'elles change, elle invalidera la page mise en cache et remettra en cache une mise à jour. version.