2
我使用Funq工廠自動連接MVC控制器,並且很好奇他們的生命週期管理是什麼樣的。在DI容器中配置MVC控制器應該怎樣的生活方式
我使用Funq工廠自動連接MVC控制器,並且很好奇他們的生命週期管理是什麼樣的。在DI容器中配置MVC控制器應該怎樣的生活方式
MVC控制器的設計不是線程安全的,因爲它們是由MVC爲其處理的請求初始化的。所以他們能夠擁有的最長生活方式就是按照網絡要求生活。但是,MVC只會向每個Web請求的控制器請求IControllerFactory
一次,這意味着控制器工廠將始終返回一個新的控制器實例。採用按網絡請求的生活方式會產生正確的結果,但會降低系統的性能,因爲不需要緩存控制器。換句話說:
MVC控制器應該有一個短暫的生活方式。