24

我有一个 Web API 应用程序,我需要通过 ActionFilter 的 OnActionExecuted 方法获取一些 API 端点的返回值

我正在使用自定义属性来识别具有我需要修改的数据的端点,但我似乎无法从 HttpActionExecutedContext 中找到实际的结果对象。

谢谢你的帮助!

4

1 回答 1

45

可以通过Response.Content属性获取返回值。如果您的操作返回了一个对象,您可以将其强制转换ObjectContent为您可以获得返回值的实际实例的位置:

public class MyFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuted(HttpActionExecutedContext context)
    {
        var objectContent = context.Response.Content as ObjectContent;
        if (objectContent != null)
        {
            var type = objectContent.ObjectType; //type of the returned object
            var value = objectContent.Value; //holding the returned value
        }
    }
}
于 2012-10-06T14:49:51.530 回答