2012-01-18 88 views
0

我試圖使用看到的代碼here。當我嘗試執行此行時OutputCache和缺少「_caches」字段

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爲null,我知道我沒有看到「_caches」,但我不知道爲什麼)。

非常感謝您的幫助。

回答

0

看起來這是.Net版本的差異。請參閱here。 .net 3.5中存在「_caches」字段。我改變我的代碼看起來更像.Net 2.0示例(使用「_entries」),它的工作原理。