質問

私はとても困惑しています。

私は、このオープンソースのスニペットを使用しています。私は、SQL Server内の任意のトリガーせずにテーブルを持って、そしてまだSQLCacheDependencyは正常に動作しています。私はあなたがそれを動作させるために、テーブル上のトリガを必要と思いました!

                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));
                }
それはそれは時代遅れだが、なぜそれが動作されると後にキャッシュから削除されなければならないため、オブジェクトoが、再びそれが必要NULLであることを

私はtimeupdatedフィールドを設定するたびにGETDATE()への、私のコードの検出?私はそれらを読みながらので、多分、私は何かを逃し、SQLCacheDependency上のチュートリアル次開始しました。

EDIT:彼らが使用している

SqlCacheDependency dependency = new SqlCacheDependency(command);

と私は、これは、トリガーを必要としないと思います。

あなたがこのアプローチを嫌い、いくつかの他のアプローチを好む場合は、

共有へお気軽にお問い合わせください。

役に立ちましたか?

解決

いいえ、あなたのようなトリガを必要としません。これは、すべてのクエリ通知の上で行われます。その記事を読んを持って、それは3つの方法クエリ通知がADO.NETを使用して設定することができますについて説明します。

これは、基礎にあるリザルトに対する変更の通知することを、これらのクエリ通知です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top