初始化任務Bootstrapper


每個應用程序都需要在啟動的時候做些初始化任務,在退出的時候做些清理工作,這類任務被歸為Bootstrapper,在codeplex上的開源項目,詳見 http://bootstrapper.codeplex.com/幫助我們來完成以下的任務。

1、在需要的時候,我們可以把實現和接口進行分離,實現使用依賴注入(不一定要項目引用,只需要文件夾下有實現的DLL)。那么,我們就需要在網站應用程序或是其它應用程序啟動的時候,把這些實現注入進來。這里需要提一點的是,正因為我們把實現和接口進行分離,使得我們可以讓兩個組件進行相互的引用,比如配置服務的實現可以調用信息中心的接口來記錄日志,而信息中心的實現可以調用配置服務的接口來存儲配置。

2、然后,我們需要針對每一個組件進行一些初始化工作,比如進行數據初始化,這步工作需要在1之后。

當然,還可以有3、4、5,這些工作我們稱為BootstrapperTask,在應用程序啟動的時候,只要程序集中有BootstrapperTask,Bootstrapper就會自動找到這些Task並且按照Order分組並行調用,在應用程序結束的時候,Bootstrapper也會依次調用所有的Dispose來清理。

通過 Bootstrapper 將不同的初始化代碼組織成不同的任務(實現IStartupTask接口),然后通過Bootstrap.Bootstrapper的Fluent API調用這些任務,並且可以指定任務的執行順序。

bootstrapperdiag1.png

寂寞如此美麗:脫離Application_Start,讓初始化代碼更優美


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM