2012-09-12 27 views
0

我有一個很奇怪的問題。 在Windows 2008 DataCenter R2上,我安裝了IIS和Framework 3.5,但是當我運行DotNet 3.5的特定代碼時,我遇到了問題。 目標是閱讀所有用戶會話(http://weblogs.asp.net/imranbaloch/archive/2010/04/05/reading-all-users-session.aspx)複雜:Framework 3.5的安裝,但具體框架3.5的代碼不起作用

這是要理解的代碼這個問題,也許自己測試一下:

object obj = typeof(HttpRuntime).GetProperty("CacheInternal", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null, null); 

foreach (FieldInfo ofi in obj.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance)) 
{ 
Label1.Text += ofi.Name + "<br/>"; 
} 

隨着框架3.5的回報應該是 - _disposed - _caches - _cacheIndexMask - _cacheCommon

,但我的服務器上的結果是 _entries 個_expires _usage _lock _disposed _totalCount _publicCount _maxCount _maxCountOverload _flushUndercount _insertBlock _useInsertBlock _insertBlockCalls _utcLastTrimCompleted _iSubCache _cacheMultiple _cacheCommon

像框架2

我有2個服務器,一個是確定我的代碼和System.Environment.Version是2.0.50727.4927 另一方面,該問題,System.Environment.Versionis = 2.0.50727.5456

我已經嘗試卸載/重新安裝框架3.5

我希望有人能幫助我。 問候

回答

0

的一種方式...... 通過reintall從零我的Windows 2008 R2數據中心服務器,我有選擇 「的角色/ functionnalities」 這個特定的順序:

1 - 我檢查FrameWork3.5 2 - 系統要求安裝IIS,我檢查複選框

,而不是相反,即通過檢查IIS之後Framework 3.5的啓動

,現在是很好的,我的代碼返回我想要的東西: _disposed _caches _cacheIndexMask _cacheCommon

的問題不解決,代碼 對象的第一行OBJ = typeof運算(的httpRuntime).GetProperty( 「CacheInternal」,BindingFlags.NonPublic | BindingFlags.Static).GetValue(null,null);

返回CacheMultiple或CacheSingle對象,他們的後果是在代碼

結束,但爲什麼從服務器中的一個或另一個對象的回報是不一樣的?

Antoher重要的一點,System.Environment.Version = 2.0.50727.4927,但它是2.0.50727之前。5456 我不知道2的區別但問題不是來自於這個問題,因爲在我的開發機器上,我有2.0.50727.5456並且第一個代碼行返回了好的對象:CacheMultiple