Pregunta

Estoy tan desconcertado.

Estoy utilizando este fragmento de código abierto. Tengo una tabla sin ningún tipo de disparadores en SQL Server, y sin embargo el SqlCacheDependency está bien trabajando. Pensé que necesitaba desencadenantes en la mesa para que funcione ?!

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

Cada vez que configure el campo timeupdated a getdate (), mis detecta código que el objeto O es nulo de nuevo, lo que debería, ya que debe eliminar de la memoria caché después una vez que está anticuado, pero ¿por qué está trabajando? Acabo de empezar siguientes tutoriales sobre SqlCacheDependency, así que tal vez me haya perdido algo durante la lectura de ellos.

EDIT: Están usando

SqlCacheDependency dependency = new SqlCacheDependency(command);

y creo que esto no requiere que los factores desencadenantes.

No dude en proporción si no le gusta este enfoque y prefiere algún otro método.

¿Fue útil?

Solución

disparadores No, no necesitas como tales. Todo se hace en notificaciones de consulta . Tiene una lectura a través de ese artículo, que explica las 3 formas de consulta notificaciones se pueden configurar utilizando ADO.NET.

Es estas notificaciones de consulta, que avisan de cambios en el conjunto de resultados que subyace.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top