Frage

Ich bin verwirrt so.

Ich bin mit diesem Open-Source-Code-Schnipsel. Ich habe eine Tabelle ohne Trigger in SQL Server, und doch ist die SqlCacheDependency funktioniert gut. Ich dachte, Sie Trigger für die Tabelle benötigt, damit es funktioniert ?!

                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));
                }

Jedes Mal, wenn ich das timeupdated Feld auf getdate (), mein Code erkennt das Objekt o null wieder ist, was es sein sollte, weil es aus dem Cache gelöscht werden soll nach, sobald es veraltet ist, aber warum funktioniert es? Ich habe folgende Tutorials auf SqlCacheDependency gerade erst begonnen, so vielleicht ich etwas verpasst, während sie zu lesen.

EDIT: Sie sind mit

SqlCacheDependency dependency = new SqlCacheDependency(command);

, und ich denke, dies ist keine Trigger erfordert.

Bitte fühlen Sie sich frei zu teilen, wenn Sie diesen Ansatz nicht mögen und einige andere Ansatz bevorzugen.

War es hilfreich?

Lösung

Nein, Sie brauchen keine Trigger als solche. Es wird alles getan, was auf Abfragebenachrichtigungen . Haben Sie einen Lese durch diesen Artikel, es erklärt die 3 Möglichkeiten, Abfragebenachrichtigungen eingerichtet werden kann ADO.NET verwenden.

Es ist diese Abfrage-Benachrichtigungen, die die zugrunde liegenden resultset von Änderungen in Kenntnis setzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top