本节目录原理介绍Abp源码分析代码实现 原理介绍事件总线大致原理:(1) 在事件总线内部维护着一个事件与事件处理程序相映射的字典。(2) 利用反射,事件总线会将实现了IEventHandler的处理程序与 ...
本节目录
原理介绍
事件总线大致原理:
(1) 在事件总线内部维护着一个事件与事件处理程序相映射的字典。
(2) 利用反射,事件总线会将实现了IEventHandler的处理程序与相应事件关联到一起,相当于实现了事件处理程序对事件的订阅。
(3) 当发布事件时,事件总线会从字典中找出相应的事件处理程序,然后利用反射去调用事件处理程序中的方法。
Abp源码分析
1.AbpKernelModule的Initialize方法
2.EventBusInstaller的Install方法
3.Kernel_ComponentRegistered
以上将事件注册完成了.
剩下就需要如何触发了.
触发实际上是写在代码里的,最终调用的其实还是EventBus.Trigger()
代码实现
看完Abp的实现,关键点还是反射以及IoC注册对象事件的拦截.
先上实现效果:
interface IPerson { void Say(); } class Person : IPerson { public IEventBus EventBus { get; set; } public void Say() { var str = "Say"; Console.WriteLine(str); EventBus.Trigger(typeof(SayEventData), this, new SayEventData() { Content = str }); } }
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:[Architect] Abp 原理解析 EventBus
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。