从 class 访问页面会话变量
Access page session variables from class
在我的 Web 应用程序 (vb.net 4.6) 中,我在所有页面中都使用了会话变量。
正在使用
Page.Session As HttpSessionState
我最近在这个项目中创建了一个新的 public class 来保存一些辅助函数。在那个 class 中,我需要检查一些会话变量,但我不能使用 Page.Session
,因为它没有与 .aspx
页面相关联。它只是一个 .vb
类型的文件。
我尝试使用
HttpContext.Current.Session
但总是 null
。
如何从我创建的这个新 class 访问我的会话变量?
您可以将您的助手 class 实现为 HttpSessionState
的 extension method:
Imports System.Runtime.CompilerServices
Module HttpExtensions
<Extension()>
Public Sub Print(ByVal state As HttpSessionState)
' a code here
End Sub
End Module
或者简单地向您的助手提供一个参数 class。
在我的 Web 应用程序 (vb.net 4.6) 中,我在所有页面中都使用了会话变量。
正在使用
Page.Session As HttpSessionState
我最近在这个项目中创建了一个新的 public class 来保存一些辅助函数。在那个 class 中,我需要检查一些会话变量,但我不能使用 Page.Session
,因为它没有与 .aspx
页面相关联。它只是一个 .vb
类型的文件。
我尝试使用
HttpContext.Current.Session
但总是 null
。
如何从我创建的这个新 class 访问我的会话变量?
您可以将您的助手 class 实现为 HttpSessionState
的 extension method:
Imports System.Runtime.CompilerServices
Module HttpExtensions
<Extension()>
Public Sub Print(ByVal state As HttpSessionState)
' a code here
End Sub
End Module
或者简单地向您的助手提供一个参数 class。