POST请求期间未调用自定义500错误页面

时间:2019-11-01 14:54:30

标签: c# razor-pages .net-core-3.0

我的剃须刀页面应用程序使用自定义错误页面处理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 :(得分:0)

通常情况下,我在这里发布问题后就找到了答案!

(StackOverflow是Rubber Duck主体的一个很好的展示)。

这是因为错误页面后面的代码中没有OnPost()方法。