ABP框架 - 领域事件(EventBus)
文档目录 本节内容: EventBus 注入 IEventBus 获取默认实例 定义事件 预定义事件 处理完异常 实体修改 触发事件 处理事件 处理基类事件 处理程序异常 处理多个事件 处理程序注册 自动 手动 反注册 在C#里,一个类可以定义自己的事件,然后其它类可以注册它,当某些事情发生时,接收到通知。这对于桌面应用或单机的Windows服务非常有用。但是,对于一个Web应用,它就有点问题,因为对象在一个web请求里创建,并且它们生命周期都很短。所以就难于注册一些类事件,同时,直接注册另一个类的事件,也使得类之间更加藕合。 领域事件一般用来解藕业务逻辑和在应用里发生重要领域修改时发出通知。 EventBus EventBus是一个单例对象,被所有类触发事件或处理事件时共享。为使用事件总线,你先要引用它,有两种方式。 注入 IEventBus 你可以用 依赖注入 获取一个IEventBus的引用,这儿我们使用属性注入模式: public class TaskAppService : ApplicationService { public IEventBus EventBus { get; set; } public TaskAppService() { EventBus = NullEventBus.Instance; } } 在注入事件总线上,属性注入比构造器注入更合适