UseStatusCodePagesWithReExecute()不适用于.NET Core 3.1
如果应用程序出现问题,我使用UseStatusCodePagesWithReExecute()不适用于.NET Core 3.1,.net,asp.net-core,.net-core,.net,Asp.net Core,.net Core,如果应用程序出现问题,我使用UseStatusCodePagesWithReExecute将用户重定向到错误页面 如果我的应用程序中出现错误(例如代码500),我不会被重定向到“/Home/Error”。 如果我手动调用它“/主页/错误”就可以了 这是我的代码,错误在哪里 public IActionResult错误(字符串代码) { 返回视图(新的ErrorModel{RequestId=Activity.Current?.Id??HttpContext.TraceIdentifier,Err
UseStatusCodePagesWithReExecute
将用户重定向到错误页面
如果我的应用程序中出现错误(例如代码500),我不会被重定向到“/Home/Error”。
如果我手动调用它“/主页/错误”就可以了
这是我的代码,错误在哪里
public IActionResult错误(字符串代码)
{
返回视图(新的ErrorModel{RequestId=Activity.Current?.Id??HttpContext.TraceIdentifier,ErrorStatusCode=code});
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
app.UseSiteOfflineMiddleware();
app.UseStatusCodePagesWithReExecute(“/Home/Error”,“?code={0}”);
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseSession();//Aggiungi Supporto Sessioni
//每个leggere Localizazione文件资源的依赖项注入选项delle lingue
var localizationOptions=app.ApplicationServices.GetService().Value;
app.UseRequestLocalization(localizationOptions);
app.UseEndpoints(端点=>
{
endpoints.MapControllerRoute(
名称:“产品”,
模式:“{codLanguage}/shop/{id}/{nameProduct}”,
新建{controller=“Catalog”,action=“Detail”});
endpoints.MapControllerRoute(
名称:“目录”,
图案:“/商店”,
新的{controller=“Catalog”,action=“Index”});
endpoints.MapControllerRoute(
名称:“默认”,
模式:“{controller=Home}/{action=Index}/{id?}”);
});
app.Run(异步(上下文)=>
{
等待任务。完成任务;
});
}
在中,如Tratcher所述,UseStatusCodePageSwithExecute用于无正文的状态代码响应(例如,空404)。对于像500这样的代码,您可以使用UseExceptionHandler
如果要在状态代码为500时重定向到url“/Home/Error”,可以执行以下操作:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseExceptionHandler("/Home/Error");
app.UseStatusCodePagesWithReExecute("/Home/Error", "?code={0}");