你的位置:首页 > 软件开发 > ASP.net > Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP

Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP

发布时间:2016-12-06 23:00:55
回到目录.Net MVC之所以发展的如些之好,一个很重要原因就是它公开了一组AOP的过滤器,即使用这些过滤器可以方便的拦截controller里的action,并注入我们自己的代码逻辑,向全局的异常记录,用户授权,Url授权,操作行为记录等,这一大批Lind的基本组件都是实现MV ...

回到目录

.Net MVC之所以发展的如些之好,一个很重要原因就是它公开了一组AOP的过滤器,即使用这些过滤器可以方便的拦截controller里的action,并注入我们自己的代码逻辑,向全局的异常记录,用户授权,Url授权,操作行为记录等,这一大批Lind的基本组件都是实现MVC和API的过滤实现的,使用这些过滤让我们不用去像HttpModule和HttpHandler那样,还要在Config里配置注入点,让程序员在开发方式上感觉很舒服,维护成功很低!

本文主要内容点

  1. Lind.DDD里的方法**
  2. 动态注入需要Lind.DDD.Plugins的支持
  3. 零配置的方法拦截
  4. 一个日志**
  5. 正在构建一个缓存**

目录结构

Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP

 

Lind.DDD里的方法**

Lind.DDD.Aspects这个**起源自ABP框架,但不知道为什么,ABP对这个**并没有完全实现,所以今天大叔又实现了一下,解决了相关BUG, 对方法拦截上,在动态代理工厂里对方法拦截上下文添加了一些必要的参数,因为大叔认为,你只提供一个“方法名称”参数,太过简单了,哈哈。

  /// <summary>  /// 方法相关信息  /// </summary>  public class MethodMetadata  {    /// <summary>    /// 上下文    /// </summary>    private MethodInfo _context;    /// <summary>    /// 方法名    /// </summary>    private get='_blank'>string _methodName;    public MethodMetadata(string methodName, MethodInfo context = null)    {      _methodName = methodName;      _context = context;    }    /// <summary>    /// 方法名称    /// </summary>    public virtual string MethodName    {      get { return _methodName; }      set { _methodName = value; }    }    /// <summary>    /// 方法上下文    /// </summary>    public virtual string Context    {      get { return _context; }      set { _context = value; }    }  }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP

关键词:ASP

ASP
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。