Question

Je suis perplexe.

J'utilise cet extrait open-source. J'ai une table sans déclencheurs dans SQL Server, et pourtant le SqlCacheDependency fonctionne bien. Je pensais que vous aviez besoin de déclencheurs sur la table pour que cela fonctionne ?!

                DateTime localFileTimeStamp = DateTime.Now; 
                DateTime fileTimeStampInDB;
                string cacheKey = string.Format("ImageId_{0}", 1);
                object o = Utils.Cache.Get(cacheKey);
                if (null == o)
                {
                    // get timestamp from DB
                    SqlCacheDependency dep;
                    fileTimeStampInDB = DataLayer.GetTimeStamp(1, out dep);
                    Utils.Cache.Insert(cacheKey, fileTimeStampInDB, dep, Cache.NoAbsoluteExpiration,
                        Cache.NoSlidingExpiration);
                    //, CacheItemPriority.Normal);
                    //new CacheItemRemovedCallback(WebUtils.CacheItemRemovedCallback));
                }

Chaque fois que je mets le champ timeupdated à getDate (), mon code détecte que l'objet o est à nouveau nul, qu'il devrait, car il devrait être abandonné du cache après une fois qu'il est obsolète, mais pourquoi est-ce que ça marche? Je viens de commencé à suivre des tutoriels sur SqlCacheDependency, alors peut-être que je manqué quelque chose en les lisant.

EDIT: Ils utilisent

SqlCacheDependency dependency = new SqlCacheDependency(command);

et je suppose que cela ne nécessite pas de déclencheurs.

S'il vous plaît ne hésitez pas à partager si vous n'aimez pas cette approche et préfèrent une autre approche.

Était-ce utile?

La solution

Non, vous n'avez pas besoin déclencheurs en tant que tels. Tout cela est fait sur notifications de requête . Bonne lecture à travers cet article, il explique les 3 façons notifications de requête peuvent être configurés à l'aide ADO.NET.

Il est ces notifications de requête, qui informent des modifications à l'ensemble de résultats sous-jacent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top