ASP.Net CacheDependency объект вопрос - PullRequest
5 голосов
/ 24 ноября 2010

Я думаю, что знаю ответ на этот вопрос, но я не могу найти однозначное «да» или «нет» в документации или статьях.

Используя .Net 3.5 ASP.Net кеширование, если вы делаете CacheDependency, передавая строку [] из cacheKeys, вставляются ли эти переданные cacheKeys в кеш на Вставке, в которой используется зависимость, если они еще не существуют

CacheDependency dependency = 
    new CacheDependency(null, new string[] { "abc", "def", "ghi"});
HttpRuntime.Cache.Insert("123", "xxx", dependency);

Итак, когда вставляется элемент кэша "123", что, если в кэше еще нет элемента с ключом "def"? Это тогда создается?

Если нет, то есть ли способ взять этот объект CacheDependency и выяснить, с какими ключами он был создан, чтобы я мог затем циклически их обработать и добавить каждый при необходимости?

По сути, я пытаюсь разрешить передачу объекта CacheDependency в мои пользовательские методы объекта CacheManager для зависимостей вместо нужного мне массива string []. Спасибо за любую помощь, вы можете предоставить.

1 Ответ

5 голосов
/ 29 ноября 2010

Ответ - нет.CacheKeys cacheDependency, которые еще не находятся в кеше, НЕ вставляются в кеш при вставке элемента, в котором используется зависимость.

Фактически, фактический элемент, вставляемый с зависимостью, даже несделать это в кеш, потому что его зависимость еще не существует в кеше.

...