ASP.NET Web Pages - Глобальные страницы


В этой главе представлены глобальные страницы AppStart и PageStart.


До запуска веб-сайта: _AppStart

Большая часть серверного кода пишется в отдельных веб-страницах. Например, если веб-страница содержит форму ввода, то страница обычно содержит серверный код для чтения данных формы.

Однако вы можете создать страницу с именем _AppStart в корневом каталоге вашего сайта, чтобы код мог выполняться до запуска сайта. Если эта страница существует, ASP.NET запустит эту страницу первой, когда будут запрошены другие страницы сайта.

Типичное использование _AppStart — выполнение кода запуска и инициализация глобальных значений (таких как счётчики и глобальные имена).

Примечание 1:Расширение файла _AppStart совпадает с расширением ваших веб-страниц, например _AppStart.cshtml.

Примечание 2:_AppStart имеет префикс в виде подчёркивания. Поэтому эти файлы нельзя просматривать напрямую.


Перед каждой страницей: _PageStart

Так же, как _AppStart выполняется перед запуском вашего сайта, вы можете написать код, который выполняется перед любой страницей в каждой папке.

Для каждой папки на вашем сайте вы можете добавить файл с именем _PageStart.

Обычно _PageStart используется для задания страницы макета для всех страниц в папке или для проверки того, вошёл ли пользователь в систему, перед выполнением страницы.


Как это работает?

На следующей схеме показано, как это работает:

PageStart

Когда получен запрос, ASP.NET сначала проверяет, существует ли _AppStart. Если _AppStart существует и это первый запрос, полученный сайтом, то _AppStart выполняется.

Затем ASP.NET проверяет, существует ли _PageStart. Если _PageStart существует, он выполняется до запуска других запрошенных страниц.

Вы можете вызвать RunPage() в _PageStart, чтобы указать, где выполняется запрошенная страница. В противном случае по умолчанию запрошенная страница выполняется после того, как выполнится _PageStart.


Другие расширения