Как настроить app.UseExceptionHandler с "бритвой страницей" Error.cshtml? - PullRequest
0 голосов
/ 09 октября 2018

Я пытался заменить страницу ошибки MVC по умолчанию Error.cshtml моей собственной созданной Error2.cshtml страницей бритвы , но это не работает: ошибка 404 .

Что я должен дополнительно настроить в маршрутизации, чтобы она работала?

Startup.cs

app.UseExceptionHandler("/Home/Error2"); // new razor page is located in standard /Views/Shared folder

Error2Model

namespace MyApp.Views.Shared
{
    public class Error2Model : PageModel
    {
        public IActionResult OnGet() // this looks  unreliable but what to use instead?
        {
           //...
        }
     }
 }

1 Ответ

0 голосов
/ 09 октября 2018

Ссылка Обработка ошибок в ASP.NET Core: настройка пользовательской страницы обработки исключений

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

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    env.EnvironmentName = EnvironmentName.Production;

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/error");
    }

В приложении Razor Pages шаблон dotnet new Razor Pages предоставляет страницу Error и класс ошибки PageModel в папке Pages.

В вашем случае вы должны установить его на

app.UseExceptionHandler("/error2");

, который должен быть помещен в Pages/Error2.cshtml

Обновить его PageModel

namespace MyApp.Pages {
    public class Error2Model : PageModel {
        public IActionResult OnGet() {
           //...
            return Page();
        }
     }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...