我正在开发一个Asp.Net c#项目。在这个项目中,我在许多aspx.cs页面上使用MyObject obj = new MyObject()等对象。 有没有办法让我可以创建一个单独的对象,并在任意数量的aspx.cs页面上使用这个对象。 任何帮助都会非常值得赞赏。
由于
答案 0 :(得分:0)
创建Class
并将其添加到App_code
asp.net
文件夹中
然后您可以通过
在代码中访问此类修改强>
您需要的内容称为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;
}
}
}
答案 1 :(得分:0)
你的意思是单身(模式,有很多解释只是google它,如果你不知道它)。 如果使用静态变量,则可以在ASP.NET中执行此操作,因为这些变量在服务器上的每个用户会话中都使用。
如果您的程序在不同的服务器上运行(如可能在Sharepoint中运行),则无法运行。我想到的唯一解决方法是使用进程外会话状态(如SQLServer或Stateserver)。但这不是一个好方法。