【问题标题】:Shared data in base class in asp.netasp.net基类中的共享数据
【发布时间】:2015-12-19 22:39:46
【问题描述】:

我有一组由用户控件组成的 aspx 页面。每个用户控件都继承自一个基类。在那个基类中,我想在我的用户控件中放置一些我需要访问的通用数据对象(通过 EF)。我怎样才能有效地做到这一点,以便每个用户控件访问相同的类实例或数据副本?

【问题讨论】:

    标签: c# oop


    【解决方案1】:

    您可以使用Singleton Per Request pattern。如果您只希望对象的单个实例在请求的生命周期内可用,这将非常有用。

    它通过将项目存储在HttpContext.Items 集合中来做到这一点。

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

    【讨论】:

      猜你喜欢
      • 2020-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      相关资源
      最近更新 更多