【发布时间】:2018-01-25 12:18:20
【问题描述】:
我正在使用 ASP .NET Core 2.0 中的 WEB API 应用程序,其中我有一个继承自 ActionFilterAttribute 的自定义过滤器属性。
如何访问在 POST 调用中传递给控制器操作的模型对象,在 ActionFilterAttribute.OnResultExecuted() 中
上述方法传递了一个ResultExecutedContext 对象,但我找不到一种简单可靠的方法来从中获取模型对象。
我拥有的过滤器如下所示:
public sealed class MyCustomFilter : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext context)
{
base.OnActionExecuted(context);
}
public override void OnResultExecuted(ResultExecutedContext context)
{
var model = ?????????????
}
public override void OnResultExecuting(ResultExecutingContext context)
{
base.OnResultExecuting(context);
}
}
控制器如下所示:
[Route("api/[controller]")]
public class MyController : Controller
{
[ServiceFilter(typeof(MyCustomFilter))]
[HttpPost]
public async Task<IActionResult> Post([FromBody] List<MyModel> data)
{
// my logic to process model here. In my filter, I want to access data, which is passed into this Post method
return Ok();
}
}
【问题讨论】:
标签: c# asp.net-web-api asp.net-core-2.0