使用过滤器读取/修改MVC Action的响应

时间:2017-04-25 12:25:06

标签: c# asp.net-mvc

我有一个HttpPost动作如下:

[HttpPost]
public string GetPerson()
{
    string output = GetPerson();
    return output;
}

我将xml作为字符串返回。是否可以在actionfilter OnResultExecuted或OnResultExecuting方法中读取此字符串?

1 个答案:

答案 0 :(得分:1)

在每个动作过滤器上,您都可以获得结果(ActionResult个对象)。

对于OnResultExecuted,您可以从ResultExecutedContext.Result属性

获取

我在下面添加了一个示例。

public class InterceptValueAttribute : ActionFilterAttribute
{


    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {

        var result = filterContext.Result as ContentResult;

        var data = result.Content;

      //use data as required

    }

}

您可以按照以下步骤使用它。

[HttpPost]
[InterceptValue]
public string GetPerson()
{
    string output = GetPerson();
    return output;
}