轉發請註明出處:https://www.cnblogs.com/zhiyong-ITNote/p/9127001.html 實在沒有找到Unity容器的AOP應用程式示例的說明,在微軟官網找到了教程(https://docs.microsoft.com/zh-cn/previous-versions ...
轉發請註明出處:https://www.cnblogs.com/zhiyong-ITNote/p/9127001.html
實在沒有找到Unity容器的AOP應用程式示例的說明,在微軟官網找到了教程(https://docs.microsoft.com/zh-cn/previous-versions/msp-n-p/dn507492(v%3dpandp.30))看的眼睛疼,而且說得也不是很詳細。我自己根據一些資料做了個demo。關鍵代碼:
/// unity container 的AOP可以完成IOC的功能,在我們使用AOP的時候 /// 也就完成了依賴項的實例化。 /// 完成DI IUnityContainer container = new UnityContainer(); container.RegisterType<IFooRepository, FooRepository>() .RegisterType<IBarRepository, BarRepository>(); /// BarSerice的AOP container.AddNewExtension<Interception>() .RegisterType<IFooService, FooService>() /// FooService的AOP .Configure<Interception>() .SetInterceptorFor<IFooService>(new InterfaceInterceptor()); /// BarSerice的AOP container.AddNewExtension<Interception>() .RegisterType<IBarService, BarSerice>() .Configure<Interception>() .SetInterceptorFor<IBarService>(new InterfaceInterceptor()); var invoke = container.Resolve<IOCInvoke>(); invoke.Run(); sw.Stop(); Console.WriteLine("花費時間: {0}", sw.Elapsed); Console.Read();View Code
代碼鏈接:https://pan.baidu.com/s/1QjAMpw55M5Czd3AslMEksw 密碼:dz2z
轉發請註明出處:https://www.cnblogs.com/zhiyong-ITNote/p/9127001.html