Filter用于面向切面编程,常用于权限控制、日志记录等场景,下文将简要介绍其基本编写方法。
1、 在WebAPI项目中创建一个名为MyTestFilter的新类。
2、 需重写两个方法
3、 在执行 OnActionExecuting 之前进行调用处理。
4、 在操作执行完毕后进行调用处理。
5、 将AOP操作嵌入对应方法内实现
6、 此处不详述AOP具体操作,仅展示如何在方法中获取常用参数。
7、 通过 actionContext.ActionArguments 获取参数,或调用 TryGetValue 方法尝试从中提取键为 id 的值并赋给 data 变量。该操作可用于判断参数是否存在并安全获取其内容,避免因键不存在而引发异常,适用于需要处理可选参数或动态传参的场景。
8、 在过滤器中获取最终结果并返回
9、 完整代码见下图
10、 在WebAPI项目的任意带参数的GET方法上添加相应特性即可。
11、 调试运行后,输出信息中可能会显示所示内容。
