在Asp.Net MVC 框架中我们可以通过ActionFilter来拦截请求,并对请求做一定处理后再交于Action做数据处理。此外,也可以利用ActionFilter来对Action的返回值做统一处理,再返回给客户端调用。同ActionFilter的合理利用,能够很容易实现AOP设计,达到代码隔离的效果。 在这里分享一个示例,以供交流学习。
在该示例中,实现了 数据流拦截 和 参数的注入。
public class MyIntercepterAttribute : FilterAttribute, IActionFilter
{
private const string nodeName = "someNode";
public void OnActionExecuting(ActionExecutingContext actionContext)
{
var inputStream = actionContext.HttpContext.Request.InputStream;
inputStream.Positio