Я бы предложил использовать объект кэша уровня приложения. Он доступен везде как часть HttpContext. Вы можете заполнить его в App_Start.
Вы можете поместить любой объект в Cache, хотя, очевидно, чем меньше, тем лучше.
Вот несколько примеров того, как заполнить его с помощью C #:
1) Добавьте элементы в кэш, как если бы вы добавляли элементы в словарь, указав ключ и значение элемента.
Пример: добавьте текущее Value
свойство текстового поля в кеш.
Cache["txt1"] = txtName.value;
или
Cache["result"] = dataset;
2) Метод Insert
перегружен, что позволяет вам определять значения параметров используемой версии.
Пример: добавить только ключ элемента и значение:
Cache.Insert ("MyData1", connectionString);
3) Метод Add
имеет ту же сигнатуру, что и метод Insert, но возвращает объект, представляющий добавленный элемент.
Cache.Add("MyData1", connectionString);
Для извлечения из кэша:
stringName = Cache["MyData"];
Если кэшированные данные не являются строкой, вам может потребоваться привести их к нужному типу данных.
result = (DataSet)Cache["result"];
Одним из преимуществ использования объекта Cache по сравнению с объектом Application является то, что CLR создает дамп содержимого Cache, если системе угрожает нехватка памяти.