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

Эта глава рассказывает о глобальных страницах AppStart и PageStart.

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

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

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

Обычно _AppStart используется для запуска кода и инициализации глобальных значений, таких как счетчики и глобальные имена.

Комментарий 1:Файл расширение _AppStart должен быть таким же, как и у веб-страницы, например, _AppStart.cshtml.

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

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

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

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

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

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

Ниже приведена иллюстрация, показывающая принцип работы:

Принцип работы AppStart и PageStart глобальной страницы

При的到来 запроса, ASP.NET проверяет, существует ли _AppStart. Если он существует и это первый запрос к сайту, то запускается _AppStart.

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

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