2

我在 .Net Web API 上有一个应用程序。执行每个操作后,我想查看结果并更改其中的内容。

说我的 API controllerAction 看起来像

public Car Get()
{
  ...
}

执行完动作后,我想在这种情况下修改返回类型的属性 Car (但对于不同的动作可以不同)。

我知道 IActionFilter.OnActionExecuted() 在执行操作后被调用。但我不确定如何访问此方法中的返回类型。

4

1 回答 1

3

您应该能够通过查看对操作执行上下文的响应来做到这一点。如果您想获得汽车并对其进行修改,您可以编写如下内容:

Car car;
if (actionExecutedContext.Response.TryGetContentValue<Car>(out car))
{
    // modify the car to send back in the response
}

如果要检查响应的类型,可以编写:

ObjectContent objectContent = actionExecutedContext.Response.Content as ObjectContent;
if (objectContent != null)
{
    Type responseType = objectContent.ObjectType;
    // do stuff with the type
}
于 2013-04-22T04:53:38.893 回答