我使用app.UseStatusCodePagesWithReExecute来捕获状态码错误,并且我正在使用其他中间件来处理应用程序异常。但是,当我启动我的应用程序时,错误控制操作方法会使用404状态代码调用。
如果我评论app.UseStatusCodePagesWithReExecute并使用我的中间件异常处理,则该应用程序启动时不会出现错误,但是一段时间后,如果我输入了错误的url,则中间件异常处理不会缓存404错误。我的发现是使用app.UseStatusCodePagesWithReExecute捕获了404错误,但是在启动应用程序时抛出了错误。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseStatusCodePagesWithReExecute("/Error", "?statusCode={0}");
app.UseMiddleware<ExceptionMiddleware>();
app.UseCors(x =>
x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
app.UseAuthentication();
app.UseMvc();
}