ASP.NET 的全局 class 变量

Global class variable for ASP.NET

我正在构建一个包含 2 个项目的 ASP.NET 应用程序。 一个是具有 BL 代码的 class 库。 我想从 BL 中的 classes 之一创建一个 public class 实例变量。 这个 class 实例变量是为了避免在每个请求上加载所有数据,这会使我的应用程序对每个请求的响应变慢。 如何让全局 class 变量在 page_Load 加载数据,并保持它直到用户重定向到另一个页面。

在 ViewState 中创建它并将其包装在 属性 中以便于使用。大致如下:

public MyClass MyObj {
    get {
        if (ViewState["MyObj"] == null){
             ViewState["MyObj"] = new MyClass();
        }
        return ViewState["MyObj"]; 
    }
    set {
        ViewState["MyObj"] = value;
    }
}