OutputCache и отсутствующее поле "_caches" - PullRequest
0 голосов
/ 18 января 2012

Я пытаюсь использовать код, увиденный здесь .Когда я пытаюсь выполнить эту строку,

FieldInfo cachesInfo = cache.GetType().GetField("_caches", BindingFlags.NonPublic | BindingFlags.Instance);

cachesInfo оказывается нулевым.Я добавил цикл foreach, чтобы посмотреть на объект, и мои результаты показывают, что поле с именем "_caches" отсутствует.

_entries
_expires
_usage
_lock
_disposed
_totalCount
_publicCount
_maxCount
_maxCountOverload
_flushUndercount
_insertBlock
_useInsertBlock
_insertBlockCalls
_utcLastTrimCompleted
_iSubCache
_cacheMultiple
_cacheCommon

Я использую код, как в ссылке.Что мне не хватает?

(Предупреждение: я крайне неосведомлен об этом предмете, но мне было поручено выяснить его. Я знаю, что cachesInfo не имеет значения, я знаю, что не вижу "_caches", но я не знаю почему).

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 19 января 2012

Похоже, это разница в версиях .Net.Смотрите здесь .Поле "_caches" существует в .Net 3.5.Я изменил свой код, чтобы он больше походил на пример .Net 2.0 (с использованием "_entries"), и он работает.

...