ASP.NET Core 2.2 项目捕获特定异常时如何重定向用户?
How can I redirect a user when a specific exception is cought with ASP.NET Core 2.2 project?
我有一个项目是使用 C#
在 ASP.NET 核心 2.2 框架之上编写的。
应用程序在发生意外情况时抛出自定义异常。
例如,如果应用无法在数据库中找到默认设置,则会抛出 ApplicationIsNotSetupException()
。此异常表明管理员没有按照他们应该使用的安装过程安装项目。因此,我想将它们定向到安装控制器。 (即 SetupController.Install())
如果 ApplicationIsNotSetupException()
被捕获,我如何将用户重定向到特定路线?
您可以将代码插入 try/catch:
try {...yourCode...}
catch (Exception ex)
{
if (ex is ApplicationIsNotSetupException)
..Do what ever you want..
else
...
}
然后,每次它都会捕获你想要的异常,它会进入 if 循环
有一种可能:
// This should be before app.UseMvc
app.Use(async (context, next) =>
{
try
{
await next();
}
catch (ApplicationIsNotSetupException)
{
context.Response.Redirect("/setup/install");
}
});
我找到了这个 ,那里也有一些很好的答案。
我有一个项目是使用 C#
在 ASP.NET 核心 2.2 框架之上编写的。
应用程序在发生意外情况时抛出自定义异常。
例如,如果应用无法在数据库中找到默认设置,则会抛出 ApplicationIsNotSetupException()
。此异常表明管理员没有按照他们应该使用的安装过程安装项目。因此,我想将它们定向到安装控制器。 (即 SetupController.Install())
如果 ApplicationIsNotSetupException()
被捕获,我如何将用户重定向到特定路线?
您可以将代码插入 try/catch:
try {...yourCode...}
catch (Exception ex)
{
if (ex is ApplicationIsNotSetupException)
..Do what ever you want..
else
...
}
然后,每次它都会捕获你想要的异常,它会进入 if 循环
有一种可能:
// This should be before app.UseMvc
app.Use(async (context, next) =>
{
try
{
await next();
}
catch (ApplicationIsNotSetupException)
{
context.Response.Redirect("/setup/install");
}
});
我找到了这个