Пользовательская страница ошибки 500 не вызывается во время запросов POST - PullRequest
0 голосов
/ 01 ноября 2019

Мое приложение страниц бритв использует пользовательскую страницу ошибок на 500 ошибок (я использую производственную среду для целей тестирования)

public class Startup
{
     ...
     public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
     {
          if (env.IsDevelopment())
          {
               app.UseDeveloperExceptionPage();
          }
          else
          {
               app.UseExceptionHandler("/Error/500");
               app.UseStatusCodePagesWithReExecute("/Error/{0}");

               // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
               app.UseHsts();
          }
          ...

У меня есть страница бритвы со следующим кодом

public void OnGet()
{
    throw new Exception("testing GET");
}

public void OnPost()
{
    throw new Exception("testing POST");
}

Если я отправлю запрос GET на страницу, я буду перенаправлен на страницу ошибки 500, как и ожидалось.

Однако, если я отправлю запрос POST, я не вижу страницу ошибки,хотя я получаю код ответа 500.

Я добавил точки останова к коду, и были вызваны правильные методы.

Есть ли какая-то конфигурация, которая отфильтровывает запросы POST со страниц ошибок

1 Ответ

0 голосов
/ 01 ноября 2019

Как обычно, я разобрался с ответом после публикации вопроса здесь!

(StackOverflow - отличная демонстрация принципа Rubber Duck).

Это потому, что не было OnPost() метод в коде позади страницы ошибки.

...