Учебник. Начало работы с Razor Pages в ASP.NET Core
Автор: Рик Андерсон (Rick Anderson)
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages. Общие сведения см. в разделе Entity Framework Core для начинающих.
Если вы новичок в разработке на ASP.NET Core и не знаете, какое решение для пользовательского веб-интерфейса подойдет вам, см. статью Выбор пользовательского интерфейса ASP.NET Core.
Пройдя всю серию, вы получите приложение, которое управляет базой данных фильмов.
В этом учебнике рассмотрены следующие задачи.
- Создание веб-приложения Razor Pages.
- Запустите приложение.
- Анализ файлов проекта.
Пройдя это руководство, вы получите рабочее веб-приложение Razor Pages, улучшение которого описано в последующих руководствах.

Предварительные требования
- Visual Studio 2022 с рабочей нагрузкой ASP.NET и веб-разработка.
Создание веб-приложения Razor Pages
Запустите Visual Studio 2022 и нажмите Создать проект.

В диалоговом окне Создать проект выберите Веб-приложение ASP.NET Core и нажмите Далее.

В диалоговом окне Настроить новый проект введите
RazorPagesMovieв поле Имя проекта. Важно присвоить проекту имя RazorPagesMovie, включая сопоставление регистра букв, чтобы пространство имени соответствовало при копировании и вставке примера кода.
Выберите Далее.
В диалоговом окне Дополнительные сведения выберите .NET 6.0 (долгосрочная поддержка) и щелкните Создать.

Создается следующий начальный проект:

Запуск приложения
Выберите RazorPagesMovie в Обозревателе решений и нажмите клавиши CTRL + F5, чтобы выполнить запуск без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:

Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.

Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio:
- Запускает приложение, которое запускает сервер Kestrel.
- Запускает браузер по умолчанию по адресу
https://localhost:5001, который отображает пользовательский интерфейс приложений.
Анализ файлов проекта
В разделах ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtmlс разметкой HTML и кодом C# использует синтаксис Razor. - Файл
.cshtml.csс кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, файл _Layout.cshtml настраивает элементы пользовательского интерфейса, общие для всех страниц. Этот файл настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические ресурсы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appsettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит следующий код:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();
В следующих строках кода в этом файле создается объект WebApplicationBuilder с предварительно настроенными значениями по умолчанию, добавляется поддержка Razor Pages в контейнер внедрения зависимостей (DI) и выполняется сборка приложения.
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
Страница со сведениями об исключении для разработчика включена по умолчанию и содержит полезную информацию об исключениях. Рабочие приложения не следует запускать в режиме разработки, поскольку на странице со сведениями об исключении для разработчика может находиться конфиденциальная информация.
В следующем коде для конечной точки устанавливаются исключения /Error и включается протокол HSTS, если приложение не запущено в режиме разработки:
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
Например, приведенный выше код выполняется, когда приложение находится в рабочем или тестовом режиме. Дополнительные сведения см. в статье Использование нескольких сред в ASP.NET Core.
Следующий код включает различное ПО промежуточного слоя:
app.UseHttpsRedirection();: перенаправляет все запросы HTTP на HTTPS.app.UseStaticFiles();: обеспечивает обслуживание таких статических файлов, как HTML, CSS, изображения и JavaScript. Подробные сведения см. в статье Статические файлы в ASP.NET Core.app.UseRouting();: добавляет соответствие маршрута в конвейер ПО промежуточного слоя. Дополнительные сведения см. в статье Маршрутизация в ASP.NET Core.app.MapRazorPages();: настраивает маршрутизацию конечных точек для Razor Pages.app.UseAuthorization();: разрешает пользователю доступ к защищенным ресурсам. Это приложение не использует авторизацию, поэтому эту строку можно удалить.app.Run();: запускает приложение.
Устранение неполадок с завершенным примером
Если вы столкнулись с проблемой, которую не можете решить, сравните свой код с кодом готового проекта. Просмотрите или скачайте завершенный проект (порядок загрузки).
Дальнейшие действия
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages.
Если вы новичок в разработке на ASP.NET Core и не знаете, какое решение для пользовательского веб-интерфейса подойдет вам, см. статью Выбор пользовательского интерфейса ASP.NET Core.
Пройдя всю серию, вы получите приложение, которое управляет базой данных фильмов.
В этом учебнике рассмотрены следующие задачи.
- Создание веб-приложения Razor Pages.
- Запустите приложение.
- Анализ файлов проекта.
Пройдя это руководство, вы получите рабочее веб-приложение Razor Pages, улучшение которого описано в последующих руководствах.

Предварительные требования
- Visual Studio 2019 16.8 или более поздней версии с рабочей нагрузкой ASP.NET и разработка веб-приложений
- Пакет SDK для .NET 5.0
Создание веб-приложения Razor Pages
Запустите Visual Studio и щелкните Создать проект Дополнительные сведения см. в статье Создание проекта в Visual Studio.

В диалоговом окне Создать проект выберите Веб-приложение ASP.NET Core и нажмите Далее.

В диалоговом окне Настроить новый проект введите
RazorPagesMovieв поле Имя проекта. Важно присвоить проекту имя RazorPagesMovie, включая сопоставление регистра букв, чтобы пространство имени соответствовало при копировании и вставке примера кода.Нажмите кнопку создания.

В диалоговом окне Создайте веб-приложение ASP.NET Core сделайте следующее:
- В раскрывающихся списках выберите .NET Core и ASP.NET Core 5.0.
- Веб-приложение.
- Create (создать).

Создается следующий начальный проект:

Запуск приложения
Нажмите клавиши CTRL+F5, чтобы выполнить запуск без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:

Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.

Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio запускает IIS Express, а затем приложение. В адресной строке указывается
localhost:port#, а не что-либо типаexample.com. Это связано с тем, чтоlocalhost— стандартное имя узла для локального компьютера. Localhost обслуживает только веб-запросы с локального компьютера. Когда Visual Studio создает веб-проект, для веб-сервера используется случайный порт.
Анализ файлов проекта
Ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtmlс разметкой HTML и кодом C# использует синтаксис Razor. - Файл
.cshtml.csс кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, файл _Layout.cshtml настраивает элементы пользовательского интерфейса, общие для всех страниц. Этот файл настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические ресурсы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appsettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит точку входа для приложения. Дополнительные сведения см. в статье Универсальный узел .NET в ASP.NET Core.
Startup.cs
содержит код, задающий поведение приложения. Подробные сведения см. в статье Запуск приложения в ASP.NET Core.
Устранение неполадок с завершенным примером
Если вы столкнулись с проблемой, которую не можете решить, сравните свой код с кодом готового проекта. Просмотрите или скачайте завершенный проект (порядок загрузки).
Дальнейшие действия
В этом первом руководстве серии приводятся основные сведения о веб-приложении Razor Pages в ASP.NET Core.
Дополнительные сведения, предназначенные для разработчиков, которые знакомы с контроллерами и представлениями, см. в статье Введение в Razor Pages.
Пройдя всю серию, вы получите приложение, которое управляет базой данных фильмов.
Просмотреть или скачать пример кода (описание скачивания).
В этом учебнике рассмотрены следующие задачи.
- Создание веб-приложения Razor Pages.
- Запустите приложение.
- Анализ файлов проекта.
Пройдя это руководство, вы получите рабочее веб-приложение Razor Pages, сборка которого описана в последующих руководствах.

Предварительные требования
Visual Studio 2019 16.4 или более поздней версии с рабочей нагрузкой ASP.NET и разработка веб-приложений
Создание веб-приложения Razor Pages
В Visual Studio в меню Файл щелкните Создать>Проект.
Создайте веб-приложение ASP.NET Core и нажмите кнопку Далее.

Присвойте проекту имя RazorPagesMovie. Очень важно, чтобы проект имел имя RazorPagesMovie, так как пространства имен при копировании и вставке кода должны совпасть.

Выберите в раскрывающемся списке пункт ASP.NET Core 3.1, затем — Веб-приложение и нажмите кнопку Создать.

Создается следующий начальный проект:

Запуск приложения
Нажмите клавиши CTRL+F5, чтобы выполнить запуск без отладчика.
Visual Studio отображает следующее диалоговое окно, если проект еще не настроен для использования SSL:

Выберите Да, чтобы сделать SSL-сертификат IIS Express доверенным.
Отобразится следующее диалоговое окно.

Выберите Да, если согласны доверять сертификату разработки.
Сведения о доверии к браузеру Firefox см. в разделе Ошибка сертификата браузера Firefox SEC_ERROR_INADEQUATE_KEY_USAGE.
Visual Studio запускает IIS Express, а затем приложение. В адресной строке указывается
localhost:port#, а не что-либо типаexample.com. Это связано с тем, чтоlocalhost— стандартное имя узла для локального компьютера. Localhost обслуживает только веб-запросы с локального компьютера. Когда Visual Studio создает веб-проект, для веб-сервера используется случайный порт.
Анализ файлов проекта
Ниже приведен обзор основных папок и файлов проекта, с которыми вы будете работать в последующих учебниках.
Папка Pages
Содержит страницы Razor и вспомогательные файлы. Каждая страница Razor — это пара файлов.
- Файл
.cshtmlс разметкой HTML и кодом C# использует синтаксис Razor. - Файл
.cshtml.csс кодом C#, который обрабатывает события страницы.
Имена вспомогательных файлов начинаются с символа подчеркивания. Например, файл _Layout.cshtml настраивает элементы пользовательского интерфейса, общие для всех страниц. Этот файл настраивает меню навигации в верхней части страницы и уведомление об авторских правах в нижней части страницы. Подробные сведения см. в статье Макет в ASP.NET Core.
Папка wwwroot
Содержит статические файлы, такие как HTML-файлы, файлы JavaScript и CSS-файлы. Подробные сведения см. в статье Статические файлы в ASP.NET Core.
appSettings.json
Содержит данные конфигурации, например строки подключения. Дополнительные сведения см. в разделе Конфигурация в ASP.NET Core.
Program.cs
Содержит точку входа для программы. Дополнительные сведения см. в статье Универсальный узел .NET в ASP.NET Core.
Startup.cs
содержит код, задающий поведение приложения. Подробные сведения см. в статье Запуск приложения в ASP.NET Core.







