OrcharNoCMS中的发布订阅使用

时间:2022-11-22 10:09:50

对于Orchard里面的EventBus,没有太多的文章去介绍说明。它最好的应用是发布订阅的应用。

使用介绍:

在Car模块中,我们定义一个接口,继承IEventHandler接口。

OrcharNoCMS中的发布订阅使用

当我们在创建一条记录时,去执行所有该接口的实现。

接下来是实现该接口:

OrcharNoCMS中的发布订阅使用

这里是一个验证的方法。当前台post过来的model里面Price<0,我们就抛出异常,ValidationException。

在Service中如何使用Handler呢?

OrcharNoCMS中的发布订阅使用

执行Create方法时,从容器中找到所有的ICarEventHandler并进行挨个执行,这时系统会捕获到该异常,直接返回请求,进行事务的回滚操作。操作失败。。

OrcharNoCMS中的发布订阅使用

因为永远不要相信用户输入,所以服务器端的验证,非常重要。这里只是提供给大家一个方法,能够把业务和验证逻辑分开,让代码更加清晰。

除了进行数据正确性验证,还可以进行日志记录或者别的用途。。