我正在使用ASP.NET Core 2.0中的WEB应用程序,其中有一个继承自ExceptionFilterAttribute的自定义ExceptionAttribute过滤器。
如何访问在POST调用中传递给操作的Model对象。
提到的方法被传递给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
}
找不到任何简便的方法。