IIS 7 ASP.NET代码隐藏共享属性未初始化
我最近发布了一个ASP.NET应用程序到IIS7服务器进行测试。我对“应用程序发布”和IIS这件事完全陌生,但工作中的人们一直在帮助我,他们也像我和谷歌一样被这件事难住了 问题在于我的页面的一个属性声明位于后面代码的顶部,当我尝试访问页面加载中的其中一个属性时,会出现“Object not set to a Instance”(对象未设置为实例)异常。这仅在共享属性中发生,而不在标准属性中发生。以下是我如何声明我的属性:IIS 7 ASP.NET代码隐藏共享属性未初始化,asp.net,vb.net,iis-7,properties,initialization,Asp.net,Vb.net,Iis 7,Properties,Initialization,我最近发布了一个ASP.NET应用程序到IIS7服务器进行测试。我对“应用程序发布”和IIS这件事完全陌生,但工作中的人们一直在帮助我,他们也像我和谷歌一样被这件事难住了 问题在于我的页面的一个属性声明位于后面代码的顶部,当我尝试访问页面加载中的其中一个属性时,会出现“Object not set to a Instance”(对象未设置为实例)异常。这仅在共享属性中发生,而不在标准属性中发生。以下是我如何声明我的属性: Public Shared Property sharedPortalCo
Public Shared Property sharedPortalController As New Aurum.Genesis.Adapter.Business.Portal.BusinessLogic.PortalControlClass
Public Shared Property sharedSelectedObjectType As String = "Hello World"
Public Shared Property sharedSelectedMessageGUID As String
Public Shared Property sharedSelectedMessageGUIDs As String()
Public Shared Property sharedXMLDocument As XmlDocument
Public Property xmlIndexCounter As Integer = 0
如果我将say'sharedSelectedObjectType'初始化为“Hello World”,然后将该值应用于页面加载时标签中的文本,它会抛出一个“Object not set…”异常,但如果我对xmlIndexCounter执行相同的操作并将其值应用于标签,则根本没有问题,页面将加载。仅当我尝试访问属性或与属性交互时,才会发生这些错误。这就是我试图在页面加载中与属性交互的方式,在本例中是“Hello World”标签示例:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack = False Then
ScriptManager.EnablePageMethods = True
If Session("LockData") = True Then
sharedPortalController.RecordLockUsername = Session("username")
sharedPortalController.LockQueueRecords()
Session("LockData") = False
Else
'Do Nothing
End If
lblWelcome.Text = lblWelcome.Text + Session("Username")
lblDepartment.Text = "Genesis " + Session("Department") + " Department Portal"
lblDepartment.Text = xmlIndexCounter.ToString
ReBindGridview()
End If
End Sub
还值得注意的是,通过基于授权cookie的登录系统访问此页面。登录页面在属性声明和使用方面的行为绝对正常,无论它们是否共享。成功验证用户后,登录页面将执行响应。重定向到主菜单页面,这是问题的根源
很抱歉,我不能提供更多的细节,纯粹是因为我对这一点非常陌生,我真的不知道您可能需要什么进一步的细节,所以如果您需要任何其他的东西,请务必问我,告诉我一开始不知道!出于这个原因,我暗自怀疑,这将是我错过的一件非常明显的事情
非常感谢您的帮助!
干杯,丹