zoukankan      html  css  js  c++  java
  • Type Interceptors

    Type Interceptors

    Castle.Core, part of the Castle Project, provides a method interception framework called “DynamicProxy.”

    The Autofac.Extras.DynamicProxy integration package enables method calls on Autofac components to be intercepted by other components. Common use-cases are transaction handling, logging, and declarative security. You can use Autofac.Extras.DynamicProxy2 for Autofac versions up to 4.0.0

     builder.RegisterType<AdminWebProxyObject>().As<IAdminWebContract>().InstancePerLifetimeScope().EnableInterfaceInterceptors().InterceptedBy(typeof(BoAuditTraceInterceptor));

    关于循环引用的问题

    手动new的接口的实现类的实例,然后调用方法,不会触发intercept

    假设有接口IA和一个IInterceptor的实现ChuckIntercept。

    IA的实现通过autofac进行解析,在一个静态类B中。

    interface IA

    {

       string GetConnectionString();

    }

    class A : IA

    {

    }

    class  B

    {

    public static IA InstanceA; //autofac负责resolve

    }

    ChuckIntercept : IIntercept

    {

    //如果在这里需要用到A里面的GetConnectionString方法

    只能自己在这边new一个A的实例,不可以使用autofac的解析,否则会循环触发intercept方法

    }

  • 相关阅读:
    F12
    InnerClass.java
    Java8
    对象下—练习4
    对象下—练习3
    模板方法
    对象下—练习2
    对象下—举例二、三
    【J-Link】J-Link不支持(版本太低)
    【Android】安装插件 + 改变文字大小、颜色 + 隐藏代码区块的直线
  • 原文地址:https://www.cnblogs.com/chucklu/p/10973947.html
Copyright © 2011-2022 走看看