我在 .Net Web API 上有一个应用程序。执行每个操作后,我想查看结果并更改其中的内容。
说我的 API controllerAction 看起来像
public Car Get()
{
...
}
执行完动作后,我想在这种情况下修改返回类型的属性 Car (但对于不同的动作可以不同)。
我知道 IActionFilter.OnActionExecuted() 在执行操作后被调用。但我不确定如何访问此方法中的返回类型。
我在 .Net Web API 上有一个应用程序。执行每个操作后,我想查看结果并更改其中的内容。
说我的 API controllerAction 看起来像
public Car Get()
{
...
}
执行完动作后,我想在这种情况下修改返回类型的属性 Car (但对于不同的动作可以不同)。
我知道 IActionFilter.OnActionExecuted() 在执行操作后被调用。但我不确定如何访问此方法中的返回类型。
您应该能够通过查看对操作执行上下文的响应来做到这一点。如果您想获得汽车并对其进行修改,您可以编写如下内容:
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
}