C# asp.net中基类中的共享数据

C# asp.net中基类中的共享数据,c#,oop,C#,Oop,我有一组由用户控件组成的aspx页面。每个usercontrol都从基类继承。在这个基类中,我想在我的用户控件中放置一些我需要访问的公共数据对象(通过EF)。如何有效地执行此操作,以便每个用户控件访问相同的类实例或数据副本?您可以使用。如果您只希望对象的单个实例在请求的生存期内可用,那么它非常有用 它通过将项目存储在HttpContext.Items集合中来实现 public class SingletonPerRequest { public static SingletonPerRe

我有一组由用户控件组成的aspx页面。每个usercontrol都从基类继承。在这个基类中,我想在我的用户控件中放置一些我需要访问的公共数据对象(通过EF)。如何有效地执行此操作,以便每个用户控件访问相同的类实例或数据副本?

您可以使用。如果您只希望对象的单个实例在请求的生存期内可用,那么它非常有用

它通过将项目存储在
HttpContext.Items
集合中来实现

public class SingletonPerRequest
{
    public static SingletonPerRequest Current
    {
        get
        {
            return (HttpContext.Current.Items["SingletonPerRequest"] ??
                (HttpContext.Current.Items["SingletonPerRequest"] = 
                new SingletonPerRequest())) as SingletonPerRequest;

        }
    }
}