Как влияет время жизни статического класса в приложении asp.net без сохранения состояния?
Вопрос
Я определил вспомогательный класс для отслеживания небольшого словаря элементов.он сохраняет эту информацию как статическое свойство, которое инициализируется в статическом конструкторе.список очень мал и никогда не изменится, поэтому я выбрал этот метод вместо XML или таблицы поиска в базе данных...
однако я хотел бы знать, сохранит ли это статическое свойство свои значения между страницами или даже внутри страниц, если asp.net должен быть без сохранения состояния?
например, я привязываю этот список к двум разным раскрывающимся спискам на своей странице.
DropDownList1.DataSource = Helper.MyList;
DropDownList2.DataSource = Helper.MyList;
Поскольку помощник статического класса вызывается два раза, его конструктор также вызывается дважды или он остается в области видимости на протяжении всего жизненного цикла страницы?
А что, если я перейду на следующую страницу и мне потребуется выполнить привязку снова, она все равно будет инициализирована или начнется заново?
Решение
Нет, это не будет инициализировать тип дважды.А Helper
класс нужно будет повторно инициализировать только в следующий раз, когда вы получите новый AppDomain
- либо потому, что приложение обновляется/перезапускается, либо из-за AppDomain
переработка.