对于Orchard里面的EventBus,没有太多的文章去介绍说明。它最好的应用是发布订阅的应用。
使用介绍:
在Car模块中,我们定义一个接口,继承IEventHandler接口。
当我们在创建一条记录时,去执行所有该接口的实现。
接下来是实现该接口:
这里是一个验证的方法。当前台post过来的model里面Price<0,我们就抛出异常,ValidationException。
在Service中如何使用Handler呢?
执行Create方法时,从容器中找到所有的ICarEventHandler并进行挨个执行,这时系统会捕获到该异常,直接返回请求,进行事务的回滚操作。操作失败。。
因为永远不要相信用户输入,所以服务器端的验证,非常重要。这里只是提供给大家一个方法,能够把业务和验证逻辑分开,让代码更加清晰。
除了进行数据正确性验证,还可以进行日志记录或者别的用途。。