Asp.Net-创建单个对象并在许多aspx.cs页面上使用它

本文关键字:cs aspx 许多 创建 Net- 单个 对象 Asp | 更新日期: 2023-09-27 18:25:24

我正在做一个Asp.Net c#项目。在这个项目中,我在许多aspx.cs页面上使用了一个对象,比如MyObject obj=new MyObject()。有没有什么方法可以让我只创建一个对象,并在任意数量的aspx.cs页面上使用这个对象。任何帮助都是非常可观的。

感谢

Asp.Net-创建单个对象并在许多aspx.cs页面上使用它

创建Class并将其添加到asp.net 中的App_code文件夹中

然后你可以通过在代码后面访问这个类

编辑:

您所需要的被称为Singleton Pattern

 Singleton s = Singleton.GetInstance;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Summary description for Class1
/// </summary>
///

//Lazy Initalization
public  class Singleton
{
    private static Singleton instance = null;
    private Singleton() { }
    public static Singleton GetInstance
    {
        get
        {
            if (instance == null)
                instance = new Singleton();
            return instance;
        }
    }
}

//Early Initalization
public class Singleton
{
private static Singleton instance = new Singleton();
private Singleton() { }
public static Singleton GetInstance
{
get
{
return instance;
}
}
}

MSDN

您的意思是称为singleton(模式,有很多关于它的解释,如果您不知道的话,只需在谷歌上搜索它)。如果使用静态变量,则可以在ASP.NET中执行此操作,因为这些变量用于服务器上的每个用户会话。

如果你的程序在不同的服务器上运行(就像Sharepoint中可能的那样),它将无法工作。我想到的唯一解决办法是使用进程外会话状态(如SQLServer或Stateserver)。但这不是一个好办法。