Как получить URL базы приложения в области фильтра исключений? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть приложение, размещенное на URL

https://example.com/app/____

Теперь у меня есть пользовательский ExceptionFilter, который отвечает за перенаправление после исключения

public class CustomExceptionFilter : IExceptionFilter
{
    public void OnException(ExceptionContext context)
    {
        var ex = context.Exception;
        var c = (ControllerActionDescriptor)context.ActionDescriptor;

        (...)
        context.Result = new RedirectResult("/Error");
    }
}

проблемаявляется то, что он перенаправляет на

https://example.com/Error/

, но мне нужно перенаправить его на /app/Error, поэтому мне нужно получить base path, который /app/

Я пытался

context.Result = new RedirectResult ("Ошибка");

context.Result = новый RedirectResult ("./ Ошибка");

но они добавляются в конце, так что это выглядит как

https://example.com/app/auth/Error

, а моя цель -

https://example.com/app/Error

Итак, как я могу получить приложение path base в exception filter?

1 Ответ

0 голосов
/ 11 июля 2019

Для доступа к базовому пути, вы можете попробовать context.HttpContext.Request.PathBase.Value.

public class CustomExceptionFilter : IExceptionFilter
{
    public void OnException(ExceptionContext context)
    {
        var basePath = context.HttpContext.Request.PathBase.Value;
        context.Result = new RedirectResult($"{ basePath }/Error");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...