Страницы

Поиск по вопросам

пятница, 12 июля 2019 г.

Где и сколько хранится статик переменная в ASP.NET

Столкнулся с неясностью. В asp.net глобальная переменная
static List> Menu = new List>();
Хранится для всех пользователей какое-то время (Все кто заходят на страницу видят результат выполнения первой, т.к. среди кода существует проверка if(Menu.Count>0)return), через какое-то N время, которое никак не задано кодом - переменная очищается и происходит взятие данных из БД.
Помогите,пожалуйста разобраться, как всё это объясняется?


Ответ

Статические переменные в ASP.NET хранятся, как и в любом приложении на .NET, до тех пор пока живет приложение.
Приложение может быть выгружено из памяти по следующим причинам:
любое изменение в папке bin; изменение файла конфигурации; просто по истечении тайм-аута неактивности или превышении лимитов памяти, запросов или времени работы (эти параметры задаются в настройках пула приложений IIS); при перезапуске сервера.
Отдельно отмечу, что каждый запуск отладки в студии ведет к повторной сборке, что означает изменение файлов в папке bin. Кроме того, при использовании IIS Express сервер останавливается по окончанию отладки.

Комментариев нет:

Отправить комментарий