Как я могу перенаправить пользователя, когда конкретное исключение связано с проектом ASP.NET Core 2.2? - PullRequest
0 голосов
/ 20 января 2019

У меня есть проект, который написан с использованием C# поверх платформы ASP.NET Core 2.2.

Приложение генерирует пользовательское исключение, когда происходит что-то неожиданное.

Например, если приложение не может найти настройку по умолчанию в базе данных, оно выдает ApplicationIsNotSetupException(). Это исключение указывает, что администратор не установил проект, используя процесс установки, как они должны. Поэтому я хочу направить их к контроллеру установки. (то есть SetupController.Install ())

Как я могу перенаправить пользователя на определенный маршрут, если ApplicationIsNotSetupException() был пойман?

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Вот возможность:

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

Я нашел это Вопрос , там тоже есть несколько хороших ответов.

0 голосов
/ 20 января 2019

Вы можете вставить свой код в try / catch:

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

than, каждый раз, когда он будет ловить исключение, которое вы хотите, он попадет в цикл if

...