C# System.Web.SessionState.HttpSessionState与会话类相同吗?如果是,怎么做?

C# System.Web.SessionState.HttpSessionState与会话类相同吗?如果是,怎么做?,c#,asp.net,.net,vb.net,C#,Asp.net,.net,Vb.net,在全局ASAX文件中的代码中,我看到以下代码: Session("ErrorSource") = lastError.Source Session("ErrorPATH") = Request.Path.ToString() 如果我在会话上单击鼠标右键,然后选择“转到定义”,我将获得: Public Default Property Item(ByVal name As String) As Object Member of: System.Web.SessionState.Http

在全局ASAX文件中的代码中,我看到以下代码:

Session("ErrorSource") = lastError.Source
Session("ErrorPATH") = Request.Path.ToString()
如果我在会话上单击鼠标右键,然后选择“转到定义”,我将获得:

Public Default Property Item(ByVal name As String) As Object
     Member of: System.Web.SessionState.HttpSessionState
以上说明了为什么我们没有

Session.Item(“ErrorSource”)=lastError.Source(因为Item是会话的默认属性)

我不明白会话类本身是在哪里定义的

我希望有类似SessionState.HttpSessionState(“ErrorSource”)的东西


不是Session.Item(“ErrorSource”)。那么会话是在哪里定义的呢?

Session
System.Web.UI.Page
对象的
HttpSessionState
类型的成员,您当前在该对象中开发的类看起来是继承的(它也可以继承
System.Web.UI.UserControl
,这是您从中继承的两个主要类
Session


当您在Visual Studio中选择“转到定义”时,它将找到该成员实际定义的位置,即使该成员未在当前类中定义(而是在基类或接口中定义)
Session
System.Web.UI.Page
对象的类型
HttpSessionState
的成员,您当前开发的类看起来要继承该对象(它也可能继承
System.Web.UI.UserControl
,这是您继承的
Session
的两个主要类)


当您在Visual Studio中选择“转到定义”时,它将找到该成员实际定义的位置,即使该成员未在当前类中定义(而是在基类或接口中定义)

会话
是System.Web.UI.Page的成员,并且该成员是
HttpSessionState
对象。您是正确的:Public Overridable ReadOnly Property Session()作为System.Web.SessionState.HttpSessionState的成员:System.Web.UI.Page奇怪的是,为什么当我们单击VS上的“转到会话定义”时,我们不会直接指向会话本身的定义。而是指向一个恰好具有会话类型属性的类。因为您在其中工作的任何类都会继承
System.Web.UI.Page
。由于类上未实现
会话
对象,因此它会将您带到为您实现它的类(
System.Web.UI.Page
)@SNash,它会将您重定向到
项的定义,因为这是您在该行访问的内容。我怀疑如果您删除括号,它会将您带到
页.Session
属性。@Mike Corcoran:为什么/如何将解释更改为注释?将其作为答案,我会接受。
Session
是System.Web.UI.Page的成员,并且该成员是
HttpSessionState
对象。您是正确的:Public Overridable ReadOnly Property Session()作为System.Web.SessionState.HttpSessionState的成员:System.Web.UI.Page奇怪的是,为什么当我们单击VS上的“转到会话定义”时,我们不会直接指向会话本身的定义。而是指向一个恰好具有会话类型属性的类。因为您在其中工作的任何类都会继承
System.Web.UI.Page
。由于类上未实现
会话
对象,因此它会将您带到为您实现它的类(
System.Web.UI.Page
)@SNash,它会将您重定向到
项的定义,因为这是您在该行访问的内容。我怀疑如果您删除括号,它会将您带到
页.Session
属性。@Mike Corcoran:为什么/如何将解释更改为注释?将其作为答案,我将接受它。