aspx.page中的注册表键值设置

时间:2009-11-11 12:25:57

标签: asp.net vb.net

.aspx页面的VB.net代码

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(“header”,“”) 第60行:''IERegKey.SetValue(“margin_top”,底部)

如何恢复问题请帮帮我

1 个答案:

答案 0 :(得分:0)

不确定我是否正确地阅读了您的问题,我的理解是,当您在Visual Studio中运行时,此项目会为您运行,但是当您部署到IIS并尝试运行项目时,您会收到错误消息。这是对的吗?

我认为问题是由于权限造成的。当您在Visual Studio的内置Web服务器中运行它时,它将以您的帐户权限运行(我假设您是计算机上的管理员)但是当在IIS中托管时,它将使用分配给执行ASP.Net的帐户的权限运行工人流程。

我不确定您要实现的目标,但我不建议允许注册表由运行网站的进程修改。您希望存储此配置吗?它可以放在配置文件或数据库表中吗?

艾伦。