對於Orchard里面的EventBus,沒有太多的文章去介紹說明。它最好的應用是發布訂閱的應用。
使用介紹:
在Car模塊中,我們定義一個接口,繼承IEventHandler接口。
當我們在創建一條記錄時,去執行所有該接口的實現。
接下來是實現該接口:
這里是一個驗證的方法。當前台post過來的model里面Price<0,我們就拋出異常,ValidationException。
在Service中如何使用Handler呢?
執行Create方法時,從容器中找到所有的ICarEventHandler並進行挨個執行,這時系統會捕獲到該異常,直接返回請求,進行事務的回滾操作。操作失敗。。
因為永遠不要相信用戶輸入,所以服務器端的驗證,非常重要。這里只是提供給大家一個方法,能夠把業務和驗證邏輯分開,讓代碼更加清晰。
除了進行數據正確性驗證,還可以進行日志記錄或者別的用途。。