autofac的aop

Posted 前天亦是明天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了autofac的aop相关的知识,希望对你有一定的参考价值。

1.安装包

autofac
Autofac.Extras.DynamicProxy -- 拦截器扩展

2.具体实现

 1      // 1第一种方法 [Intercept(typeof(ActionInterceptor))]
 2     class Program
 3     {
 4         static void Main(string[] args)
 5         {
 6             var buider = new ContainerBuilder();
 7             // 2第二种方法
 8             buider.RegisterType<Child>().As<DBPeople>()
 9             .EnableClassInterceptors()
10             .InterceptedBy("action-interceptor");
11             //.InterceptedBy(typeof(ActionInterceptor));
12             //注册拦截器
13             //buider.RegisterType<ActionInterceptor>();
14             //第三种方法
15             buider.RegisterType<ActionInterceptor>().Named<IInterceptor>("action-interceptor");
16             
17             var container = buider.Build();
18             using (var scope = container.BeginLifetimeScope())
19             {
20                 var child = scope.Resolve<DBPeople>();
21                 child.Say();
22             }
23             Console.ReadKey();
24         }
25     }
26    public class ActionInterceptor : IInterceptor
27    {
28        public void Intercept(IInvocation invocation)
29        {
30            Console.WriteLine("say执行前-----------");
31            invocation.Proceed();
32            Console.WriteLine("say执行后-----------");
33        }
34    }

 

以上是关于autofac的aop的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core下自带容器IServiceCollection以及AutoFac以及AutoFac中AOP简介

autofac的aop

Autofac与AOP功能例子

[Asp.Net Core] Autofac支持AOP-2

[Asp.Net Core] Autofac支持AOP-2

Autofac的AOP面向切面编程研究