ResultFilter 结果过滤器,是对执行的Action结果进行处理的一种过滤器(采用了 AOP思想),适用于任何需要直接环绕 View 或格式化处理的逻辑。结果过滤器可以替换或更改 Action 结果。
在 IActionResult 执行的前后执行,使用它能够控制Action的执行结果,比如:格式化结果等。需要注意的是,它只有在Action方法成功执行完成后才会运行。 在项目中,一般很少使用结果过滤器。
ASP.NET Core 6 提供的是接囗 IResultFilter/IAsyncResultFilter/ActionFilterAttribute ,系统框架提供的抽象(接口(同步实现和异步实现)/抽象类)。
IResultFilter 扩展
public class CustomResultFilterAttribute : Attribute, IResultFilter
{
/// <summary>
/// 在结果之前
/// </summary>
/// <param name="context"></param>
/// <exception cref="NotImplementedException"></exception>
public void OnResultExecuting(ResultExecutingContext context)
{
Console.WriteLine("CustomResultFilterAttribute.OnResultExecuting");
}
/// <summary>
/// 在