2009-11-11 139 views
0

VB.net代碼.aspx頁面中註冊表項值設置

Dim header As String 
Dim footer As String 
Dim margin_left As String 
Dim margin_top As String 
Dim margin_bottom As String 
Dim bottom As Double 
footer = "" 
header = "" 
IERegKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\PageSetup", True)   
'footer = IERegKey.GetValue("footer", 0)   
'header = IERegKey.GetValue("header", 0)   
'margin_top = IERegKey.GetValue("margin_top", 0)   
'margin_bottom = IERegKey.GetValue("margin_bottom", 0)   
bottom = 0.25   
IERegKey.SetValue("footer", "")   
'IERegKey.SetValue("header", "")   
''IERegKey.SetValue("margin_top", bottom)   
'IERegKey.SetValue("margin_bottom", 0) 

當項目從工作項目運行,將工作正常。 但是當做websetup並嘗試運行頁面後,它將顯示錯誤爲

異常詳細信息:System.NullReferenceException:未將對象引用設置爲對象的實例。

源錯誤:

線56:「margin_bottom = IERegKey.GetValue( 「margin_bottom」,0) 線57:底部= 0.25 線58:IERegKey.SetValue( 「頁腳」, 「」) 59號線:「IERegKey.SetValue( 「頭」, 「」)60 行: '' IERegKey.SetValue( 「margin_top」,底部)

我怎樣才能恢復的問題,請幫我

回答

0

不知道如果我已經閱讀你的問題是正確的,我的理解是這個項目運行f或者當你在Visual Studio中運行它時,但是當你部署到IIS並嘗試運行你的項目時,你會得到錯誤信息。它是否正確?

我認爲這個問題是由於權限。當你在Visual Studio內置的web服務器上運行它時,它將以你的帳戶權限運行(我假設你是你的機器上的管理員),但是當它駐留在IIS中時,它將以分配給執行ASP.Net的帳戶的權限運行工作進程。

我不確定你想達到什麼,但我不會建議允許運行網站的進程修改註冊表。您正在尋找存儲的配置嗎?它可以放置在配置文件或數據庫表中嗎?

Alan。