[問題] ASP.NET讀取Registry Key權限相關問題
版上各位先進大大好:
小弟最近開發一個ASP.Net網站,該網站需要呼叫一個外部程式,
(Google DeskTop,我需要借重它的搜尋功能)
而呼叫這個外部程式時需要讀取到本機的Registry來取得一個類似金鑰的東西,
它不能寫死,因為每個使用者的這個數值都可能是不一樣的。
總之,Rigistry的位置在:
HKEY_CURRENT_USER\Software\Google\Google Desktop\API\search_url
下面這個寫法在console主控台已經能順利運作成功:
RegistryKey rkHKLM = Registry.CurrentUser;//在此先決定基礎分類
string fullQueryPrefix =
rkHKLM.OpenSubKey("Software\\Google\\Google Desktop\\API",
true).GetValue("search_url").ToString();
可是,當我將它寫在ASPX的code裡時,假如我直接用vs2008去模擬網站的運作結果,
可以得到令人滿意的效果,可是真的發布網站到IIS下頭的時候,
string fullQueryPrefix =
rkHKLM.OpenSubKey("Software\\Google\\Google Desktop\\API",
true).GetValue("search_url").ToString();
這一行不論怎麼弄都發生Null Reference Exception,
目前小弟的猜測是因為這個registry key隨使用者不同,
而asp.net網站的預設使用者和本機的administrator不同,
甚至權限可能低到不能讀取registry,如果真是如此的話,
不知有沒有辦法可以讓我的asp.net使用者以管理者的預設權限進入,
讓它可以存取本機的應用程式及登錄檔呢?
麻煩各位高手解惑了!感激不盡! M(_ _)M
--
灰心喪志的人,如洩了氣的皮球,一蹶不振;
消極頹唐的人,如洩了精的雞巴,無望再舉。
而,打個手槍沒有目標的痛苦,就是現實世界的殘酷。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.97.207
※ 編輯: CYBASTER 來自: 114.137.97.207 (08/04 16:02)