的DefaultControllerFactory
包含三種不同的方法:ASP.NET MVC控制器廠生命週期
GetControllerInstance
CreateController
GetControllerType
是每種方法在請求執行壽命何時?我見過自定義控制器工廠,其中的一個方法被覆蓋並實現,但我似乎無法找到每個執行路徑的細節。
的DefaultControllerFactory
包含三種不同的方法:ASP.NET MVC控制器廠生命週期
GetControllerInstance
CreateController
GetControllerType
是每種方法在請求執行壽命何時?我見過自定義控制器工廠,其中的一個方法被覆蓋並實現,但我似乎無法找到每個執行路徑的細節。
CreateController
被調用。
它首先調用GetControllerType
來確定控制器的類型,然後將此類型傳遞給GetControllerInstance
。
因爲它更容易(並且通常足夠)(僅)覆蓋GetControllerInstance
(以便選擇類型的邏輯保持不變),所以通常會發生這種情況。
更新MVC3,方法按此順序調用。
GetControllerType
被首先調用並被調用兩次。
GetControllerType
GetControllerSessionBehavior
CreateController
GetControllerType
CreateControllerInstance
ReleaseController