繁体   English   中英

当ASP.NET Core 2.2项目遇到特定异常时,如何重定向用户?

[英]How can I redirect a user when a specific exception is cought with ASP.NET Core 2.2 project?

我有一个在ASP.NET Core 2.2框架顶部使用C#编写的项目。

当发生意外情况时,应用程序将引发自定义异常。

例如,如果应用程序在数据库中找不到默认设置,则会引发ApplicationIsNotSetupException() 此异常表示管理员未使用应有的安装过程来安装项目。 因此,我想将它们定向到安装控制器。 (即SetupController.Install())

如果捕获了ApplicationIsNotSetupException() ,如何将用户重定向到特定的路由?

这是一种可能性:

// This should be before app.UseMvc
app.Use(async (context, next) =>
{
    try
    {
        await next();
    }
    catch (ApplicationIsNotSetupException)
    {
        context.Response.Redirect("/setup/install");
    }
});

我找到了这个问题 ,那里也有一些很好的答案。

您可以将代码插入try / catch中:

try {...yourCode...}
catch (Exception ex)
{
if (ex is ApplicationIsNotSetupException)
..Do what ever you want..
else 
...
}

比,每次它将捕获您想要的异常时,它将进入if循环

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM