Как я могу получить объект модели в exceptionFilter Asp.NetCore? - PullRequest
0 голосов
/ 23 июня 2018

Я работаю с веб-приложением в ASP .NET Core 2.0, где у меня есть собственный фильтр ExceptionAttribute, который наследуется от ExceptionFilterAttribute.

Как получить доступ к объекту Model, переданному действию в вызове POST.

Указанному методу передан ExceptionContext, но я не смог найти простой и надежный способ получить из него объект Model и передать его ViewResult.

Фильтр, который у меня есть, выглядит следующим образом:

public class ApiCallExceptionAttribute: ExceptionFilterAttribute
{
    private readonly IModelMetadataProvider _modelMetadataProvider;

    public ApiCallExceptionAttribute(
        IModelMetadataProvider modelMetadataProvider)
    {
        _modelMetadataProvider = modelMetadataProvider;
    }

    public override void OnException(ExceptionContext context)
    {
        //how can i accesss model object here and pass to ViewResult
        result.ViewData = new ViewDataDictionary(_modelMetadataProvider,context.ModelState);

        context.Result = result;
    }
}

и контроллер выглядит следующим образом:

[HttpPost]
[ServiceFilter(typeof(ApiCallExceptionAttribute))]
public async Task<IActionResult> Activation(ActivationViewModel model)
{
            //throw exception in controller content
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...