2009-08-17 50 views
1

我想從註冊表中讀取值,但不知何故,我似乎得到了錯誤的註冊表。我無法讀取任何我創建的密鑰,並且更改我能夠獲取的密鑰值似乎沒有任何作用。ASP.Net頁面訪問錯誤的註冊表?

我使用Registry.GetValue來獲取值,它將爲我的密鑰或我更改的密鑰的原始值返回null。

我正在讀取aspx頁面中的值。操作系統是Windows Server 2003 SP2 64位。 IIS在32位運行。我不確定其他信息可能與此有關。

有關如何發生這種情況以及我能做些什麼的任何信息,

+0

應用程序池使用什麼標識訪問註冊表並且它是否具有訪問註冊表的權限?那將是我的出發點。 – 2009-08-17 18:13:43

回答

6

如果IIS在64位服務器上以32位模式運行,它將訪問WOW64註冊表。嘗試在HKLM \ Software \ Wow6432Node下設置值,它將映射到32位進程的HKLM \ Software視圖

+0

這就是我的新信息。謝謝:) – Shoban 2009-08-17 18:44:52

+0

就是這樣。非常感謝。 64位操作系統問題上的瘋狂32位進程:) – Brian 2009-08-17 19:55:35

0

確保你沒有寫入HKEY_CURRENT_USER。這些是針對登錄用戶本地化的設置。您的ASP.NET應用程序無法訪問您的註冊表設置。

我不確定,但我建議嘗試將您的密鑰放在HKEY_LOCAL_MACHINE/Software中。這就是系統範圍(如你的asp.net應用程序)設置的位置。