从 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 实现为 HttpSessionStateextension method:

Imports System.Runtime.CompilerServices

Module HttpExtensions

    <Extension()> 
    Public Sub Print(ByVal state As HttpSessionState)
        ' a code here
    End Sub

End Module

或者简单地向您的助手提供一个参数 class。