Я работаю с веб-приложением в 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
}