2015-03-21 2 views
0

Я создаю приложение ASP.NET, которое имеет 2 проекта. Одна библиотека классов, имеющая код BL. Я хочу создать переменную экземпляра открытого класса из одного из классов в BL. Эта переменная экземпляра класса должна избегать загрузки всех данных по каждому запросу, что заставляет мое приложение реагировать медленно для каждого запроса. Как сделать глобальную переменную нагрузкой на странице_Load и сохранить ее до тех пор, пока пользователь не перенаправит на другую страницу.Глобальная переменная класса для ASP.NET

+1

Итак, что же такое настоящий вопрос? –

+0

Вопрос в том, как загружать значения в pageLoad и сохранять их до тех пор, пока пользователь не перенаправит на другую страницу. –

ответ

1

Создайте его в ViewState и оберните его в собственность для удобства использования. Что-то по строкам:

public MyClass MyObj { 
    get { 
     if (ViewState["MyObj"] == null){ 
      ViewState["MyObj"] = new MyClass(); 
     } 
     return ViewState["MyObj"]; 
    } 
    set { 
     ViewState["MyObj"] = value; 
    } 
} 
+0

Какова емкость видения? сколько данных он может хранить? –

+0

Когда вы вставляете большой объем данных в view state.ViewState, требуется дополнительная перегрузка сериализации и десериализации объектов, поэтому вовлекает дополнительное время обработки time.it. – RajeeshMenoth

+0

И viewstate хранится внутри страницы html, поэтому пользователи будут загружать их по каждому запросу. –