Почему app.UseMvc () добавляется при создании проекта Razor Pages? - PullRequest
1 голос
/ 21 марта 2019

Я новичок в ASP.NET Core и Razor, и я прошу прощения, если это где-то безумно очевидно.

После некоторого исследования я решил использовать Razor Pages вместо MVC, как я думал тамбыло бы больше преимуществ, и мне понравилась идея кода для моделей страниц и т. д. Я выбрал ASP.NET Core Web Application -> Web Application и создал новый проект с таргетингом ASP.NET Core 2.2.

По умолчанию создается шаблон для создания«чистый» проект RP - например.Папка Pages вместо MVC Controller / Models / Views.

Я очень запутался, потому что в проекте RP все еще есть элементы MVC - например.app.useMvc() в Startup.cs, включение _ViewStart.cshtml, использование ViewData ["x"].

Реально это нормально, и можно нажимать, но затем, следуя указаниям RP и предполагаемым соглашениям, похоже, теряет популярность - например._PageStart.cshtml на самом деле не работает из моего тестирования.

Где я ошибаюсь - я читаю или слишком много захожу?Надеюсь, кто-нибудь сможет просветить меня!Заранее спасибо за попытку:)

1 Ответ

1 голос
/ 21 марта 2019

бритвенных страниц, хотя они и не используют контроллеры, на самом деле являются частью инфраструктуры mvc и требуют от вас вызова app.UseMvc () для инициализации всего, что ему нужно, включая маршрутизацию и т. Д.

Вы также можетеиспользуйте UseMvc для настройки вашего приложения:

 app.AddMvc()
    .AddRazorPagesOptions(options =>
        {
            options.Conventions.Add("options");
        });

Более подробную информацию об этом можно найти по адресу https://docs.microsoft.com/en-us/aspnet/core/razor-pages/razor-pages-conventions?view=aspnetcore-2.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...