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页面上使用这个对象。任何帮助都是非常可观的。
感谢
创建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)。但这不是一个好办法。