2010-07-16 3 views
1

У меня есть набор страниц aspx, которые составлены из пользовательских элементов управления. Каждый usercontrol наследует базовый класс. В этом базовом классе я хочу поместить некоторые общие объекты данных (через EF), к которым мне нужен доступ, в моих пользовательских элементах управления. Как я могу сделать это эффективно, чтобы каждый пользователь контролировал доступ к экземпляру одного экземпляра или копии данных?Общие данные в базовом классе в asp.net

ответ

0

Вы можете использовать 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; 

     } 
    } 
} 
Смежные вопросы