OutputCache并缺少“_caches”字段

时间:2012-01-18 18:46:50

标签: c# asp.net outputcache

我正在尝试使用here看到的代码。当我尝试执行此行

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

cachesInfo最终为null。我添加了一个foreach循环来查看对象,我的结果显示没有名为“_caches”的字段。

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

我正在使用链接中的代码。我错过了什么?

(警告:我对这个问题非常无知,但我们的任务是找出它。我知道cachesInfo是null,我知道我没有看到“_caches”,但我不知道为什么。)

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

看起来这是.Net版本的不同之处。见here。 “.caches”字段存在于.Net 3.5中。我将我的代码更改为更像.Net 2.0示例(使用“_entries”)并且它可以工作。