В шаблоне проекта Razor Pages по умолчанию частью кода в Startup.cs, который включает Razor Pages, является вызов MapRazorPages () в разделе конфигурации конечной точки Configure ():
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
Необходимость этого вызова подтверждается в превосходной статье Введение в Razor Pages в статье ASP. NET Core Рика Андерсона и Райана Новака.
Хотя Blazor - это другая технология пользовательского интерфейса, Проекты Blazor также могут предоставлять конечные точки Razor Pages. Например, проект Blazor, включающий ASP. NET Аутентификация с использованием удостоверений, отображает страницы входа и выхода из системы в виде страниц Razor.
Однако инициализация конечной точки в проекте Blazor, который предоставляет страницы Razor, не отображается задействовать вызов MapRazorPages (). Если вы создаете новый проект с использованием шаблона Blazor по умолчанию с индивидуальной аутентификацией учетной записи пользователя, то скаффолд на всех страницах Razor, используемых ASP. NET Identity, инициализация конечной точки завершается следующим образом:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
Полученное приложение может правильно направлять запросы к конечным точкам Razor Pages, таким как Login.cs html и LogOut.cs html. Как это возможно без вызова MapRazorPages ()?