2009-11-11 123 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。