使用代码测试ASP.NET MVC2执行流程
测试代码点击这里下载,通过此代码也剖析了MVC2的扩展点和扩展方式(其实在不调用基类的情况下填满所有重写的方法也就完成了大半个MVC框架)。
MVC执行流程如下(可以直接下载代码运行页面查看此结果):
- ----------------开始执行TestMvcApplication 类的 Application_Start 方法 -- 05:50:03:9219
- -------------开始执行TestUrlRoutingModule 类的 PostResolveRequestCache 方法 -- 05:50:04:1740
- ----------------开始执行TestRoute 类的 GetRouteData 方法 -- 05:50:04:1750
- -------------------开始执行TestRoute 类的 ProcessConstraint 方法 -- 05:50:04:1750
- ---------------------结束执行TestRouteConstraint 类的 Match 方法返回了:True -- 05:50:04:1820
- -------------------结束执行TestRoute 类的 ProcessConstraint 方法返回了:True -- 05:50:04:1820
- ----------------结束执行TestRoute 类的 GetRouteData 方法返回了:RouteData -- 05:50:04:1840
- ----------------开始执行TestMvcRouteHandler 类的 GetHttpHandler 方法 -- 05:50:04:1850
- ----------------结束执行TestMvcRouteHandler 类的 GetHttpHandler 方法返回了:TestMvcHandler -- 05:50:04:1850
- -------------开始执行TestUrlRoutingModule 类的 PostMapRequestHandler 方法 -- 05:50:04:1860
- --------------开始执行TestMvcHandler 类的 BeginProcessRequest 方法 -- 05:50:04:1870
- -----------------开始执行TestMvcHandler 类的 AddVersionHeader 方法 -- 05:50:04:1870
- -----------------开始执行TestControllerFactory 类的 CreateController 方法传入了:Home -- 05:50:04:1890
- -------------------开始执行TestControllerFactory 类的 GetControllerType 方法传入了:Home -- 05:50:04:1890
- -------------------结束执行TestControllerFactory 类的 GetControllerType 方法返回了:RuntimeType -- 05:50:04:2220
- -------------------开始执行TestControllerFactory 类的 GetControllerInstance 方法传入了:HomeController -- 05:50:04:2220
- -------------------结束执行TestControllerFactory 类的 GetControllerInstance 方法返回了:HomeController -- 05:50:04:2230
- -------------开始执行TestMvcHandler 类的 EndProcessRequest 方法 -- 05:50:04:2230
- --------------------开始执行TestController 类的 Execute 方法 -- 05:50:04:2230
- ----------------------开始执行TestController 类的 Initialize 方法 -- 05:50:04:2230
- ----------------------开始执行TestController 类的 ExecuteCore 方法 -- 05:50:04:2240
- --------------------------开始执行TestController 类的 CreateTempDataProvider 方法 -- 05:50:04:2240
- --------------------------结束执行TestController 类的 CreateTempDataProvider 方法返回了:TestTempDataProvider -- 05:50:04:2240
- --------------------------开始执行TestTempDataProvider 类的 LoadTempData 方法 -- 05:50:04:2240
- -------------------------开始执行TestController 类的 CreateActionInvoker 方法 -- 05:50:04:2240
- -------------------------结束执行TestController 类的 CreateActionInvoker 方法返回了:TestActionInvoker -- 05:50:04:2250
- ------------------------开始执行TestActionInvoker 类的 InvokeAction 方法 -- 05:50:04:2250
- --------------------------开始执行TestActionInvoker 类的 GetControllerDescriptor 方法 -- 05:50:04:2250
- --------------------------结束执行TestActionInvoker 类的 GetControllerDescriptor 方法返回了:ReflectedControllerDescriptor -- 05:50:04:2260
- --------------------------开始执行TestActionInvoker 类的 FindAction 方法传入了:Index -- 05:50:04:2270
- --------------------------结束执行TestActionInvoker 类的 FindAction 方法返回了:ReflectedActionDescriptor -- 05:50:04:2270
- --------------------------开始执行TestActionInvoker 类的 GetFilters 方法 -- 05:50:04:2280
- --------------------------结束执行TestActionInvoker 类的 GetFilters 方法返回了:FilterInfo -- 05:50:04:2300
- --------------------------开始执行TestActionInvoker 类的 InvokeAuthorizationFilters 方法 -- 05:50:04:2300
- -----------------------------开始执行TestController 类的 OnAuthorization 方法 -- 05:50:04:2300
- ----------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IAuthorizationFilter.OnAuthorization 方法 -- 05:50:04:2300
- ----------------------------开始执行TestActionFilterOnActionAttribute 类的 System.Web.Mvc.IAuthorizationFilter.OnAuthorization 方法 -- 05:50:04:2310
- --------------------------结束执行TestActionInvoker 类的 InvokeAuthorizationFilters 方法返回了:AuthorizationContext -- 05:50:04:2310
- --------------------------开始执行TestActionInvoker 类的 GetParameterValues 方法 -- 05:50:04:2310
- ----------------------------开始执行TestActionInvoker 类的 GetParameterValue 方法 -- 05:50:04:2320
- -------------------------------------结束执行TestValueProviderFactory 类的 GetValueProvider 方法返回了:TestValueProvider -- 05:50:04:2350
- -----------------------------------结束执行TestValueProvider 类的 ContainsPrefix 方法返回了:False -- 05:50:04:2380
- ---------------------------------结束执行TestModelBinder 类的 CreateModel 方法返回了:TestModel -- 05:50:04:2380
- -----------------------------------结束执行TestModelBinder 类的 GetTypeDescriptor 方法返回了:_AssociatedMetadataTypeTypeDescriptor -- 05:50:04:2390
- --------------------------------------结束执行TestModelBinder 类的 GetTypeDescriptor 方法返回了:_AssociatedMetadataTypeTypeDescriptor -- 05:50:04:2390
- ------------------------------------结束执行TestModelBinder 类的 GetModelProperties 方法返回了:PropertyDescriptorCollection -- 05:50:04:2390
- -----------------------------------开始执行TestModelBinder 类的 BindProperty 方法 -- 05:50:04:2400
- ----------------------------------------结束执行TestValueProvider 类的 ContainsPrefix 方法返回了:True -- 05:50:04:2400
- -------------------------------------------结束执行TestValueProvider 类的 ContainsPrefix 方法返回了:True -- 05:50:04:2410
- ---------------------------------------------结束执行TestValueProvider 类的 GetValue 方法返回了:TestValueProviderResult -- 05:50:04:2430
- -------------------------------------结束执行TestModelBinder 类的 GetPropertyValue 方法返回了:String -- 05:50:04:2430
- -------------------------------------开始执行TestModelBinder 类的 SetProperty 方法 -- 05:50:04:2440
- ------------------------------结束执行TestModelBinder 类的 BindModel 方法返回了:TestModel -- 05:50:04:2450
- ----------------------------结束执行TestActionInvoker 类的 GetParameterValue 方法返回了:TestModel -- 05:50:04:2450
- --------------------------结束执行TestActionInvoker 类的 GetParameterValues 方法返回了:Dictionary`2 -- 05:50:04:2450
- --------------------------开始执行TestActionInvoker 类的 InvokeActionMethodWithFilters 方法 -- 05:50:04:2450
- -------------------------------开始执行TestController 类的 OnActionExecuting 方法 -- 05:50:04:2460
- --------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IActionFilter.OnActionExecuting 方法 -- 05:50:04:2460
- ----------------------------------开始执行TestActionFilterOnActionAttribute 类的 System.Web.Mvc.IActionFilter.OnActionExecuting 方法 -- 05:50:04:2460
- -----------------------------------开始执行TestActionInvoker 类的 InvokeActionMethod 方法 -- 05:50:04:2460
- ------------------------------------------开始执行TestController 类的 View 方法 -- 05:50:04:2500
- ------------------------------------------结束执行TestController 类的 View 方法返回了:TestViewResult -- 05:50:04:2500
- -------------------------------------开始执行TestActionInvoker 类的 CreateActionResult 方法 -- 05:50:04:2500
- -------------------------------------结束执行TestActionInvoker 类的 CreateActionResult 方法返回了:TestViewResult -- 05:50:04:2500
- -----------------------------------结束执行TestActionInvoker 类的 InvokeActionMethod 方法返回了:TestViewResult -- 05:50:04:2500
- ----------------------------------开始执行TestActionFilterOnActionAttribute 类的 System.Web.Mvc.IActionFilter.OnActionExecuted 方法 -- 05:50:04:2500
- --------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IActionFilter.OnActionExecuted 方法 -- 05:50:04:2510
- -------------------------------开始执行TestController 类的 OnActionExecuted 方法 -- 05:50:04:2510
- --------------------------结束执行TestActionInvoker 类的 InvokeActionMethodWithFilters 方法返回了:ActionExecutedContext -- 05:50:04:2510
- --------------------------开始执行TestActionInvoker 类的 InvokeActionResultWithFilters 方法传入了:TestViewResult -- 05:50:04:2510
- -------------------------------开始执行TestController 类的 OnResultExecuting 方法 -- 05:50:04:2520
- --------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IResultFilter.OnResultExecuting 方法 -- 05:50:04:2520
- ----------------------------------开始执行TestActionFilterOnActionAttribute 类的 System.Web.Mvc.IResultFilter.OnResultExecuting 方法 -- 05:50:04:2520
- -----------------------------------开始执行TestActionInvoker 类的 InvokeActionResult 方法 -- 05:50:04:2530
- -------------------------------------开始执行TestViewResult 类的 ExecuteResult 方法 -- 05:50:04:2530
- ---------------------------------------开始执行TestViewResult 类的 FindView 方法 -- 05:50:04:2530
- --------------------------------------------开始执行TestViewEngine 类的 FindView 方法传入了:Index,useCache -- 05:50:04:2540
- --------------------------------------------结束执行TestViewEngine 类的 FindView 方法返回了:ViewEngineResult -- 05:50:04:2540
- --------------------------------------------开始执行TestViewEngine 类的 FindView 方法传入了:Index -- 05:50:04:2540
- ------------------------------------------------开始执行TestViewEngine 类的 FileExists 方法传入了:~/Views/Home/Index.aspx -- 05:50:04:2550
- ------------------------------------------------结束执行TestViewEngine 类的 FileExists 方法返回了:True -- 05:50:04:2630
- ----------------------------------------------开始执行TestViewEngine 类的 CreateView 方法传入了:~/Views/Home/Index.aspx -- 05:50:04:2630
- ----------------------------------------------结束执行TestViewEngine 类的 CreateView 方法返回了:TestView -- 05:50:04:2640
- --------------------------------------------结束执行TestViewEngine 类的 FindView 方法返回了:ViewEngineResult -- 05:50:04:2640
- ---------------------------------------结束执行TestViewResult 类的 FindView 方法返回了:ViewEngineResult -- 05:50:04:2640
- ---------------------------------------开始执行TestView 类的 Render 方法 -- 05:50:04:2640
- ------------------------------------------------------------------------------开始执行TestRoute 类的 GetVirtualPath 方法 -- 05:50:04:3010
- ---------------------------------------------------------------------------------开始执行TestRoute 类的 ProcessConstraint 方法 -- 05:50:04:3010
- -----------------------------------------------------------------------------------结束执行TestRouteConstraint 类的 Match 方法返回了:True -- 05:50:04:3010
- ---------------------------------------------------------------------------------结束执行TestRoute 类的 ProcessConstraint 方法返回了:True -- 05:50:04:3020
- ------------------------------------------------------------------------------结束执行TestRoute 类的 GetVirtualPath 方法返回了:VirtualPathData -- 05:50:04:3020
- ---------------------------------------------------------------------------------------开始执行TestControllerFactory 类的 CreateController 方法传入了:Home -- 05:50:04:3020
- -----------------------------------------------------------------------------------------开始执行TestControllerFactory 类的 GetControllerType 方法传入了:Home -- 05:50:04:3030
- -----------------------------------------------------------------------------------------结束执行TestControllerFactory 类的 GetControllerType 方法返回了:RuntimeType -- 05:50:04:3030
- -----------------------------------------------------------------------------------------开始执行TestControllerFactory 类的 GetControllerInstance 方法传入了:HomeController -- 05:50:04:3030
- -----------------------------------------------------------------------------------------结束执行TestControllerFactory 类的 GetControllerInstance 方法返回了:HomeController -- 05:50:04:3030
- --------------------------------------------------------------------------------------------开始执行TestController 类的 Execute 方法 -- 05:50:04:3040
- ----------------------------------------------------------------------------------------------开始执行TestController 类的 Initialize 方法 -- 05:50:04:3040
- ----------------------------------------------------------------------------------------------开始执行TestController 类的 ExecuteCore 方法 -- 05:50:04:3050
- -------------------------------------------------------------------------------------------------开始执行TestController 类的 CreateActionInvoker 方法 -- 05:50:04:3050
- -------------------------------------------------------------------------------------------------结束执行TestController 类的 CreateActionInvoker 方法返回了:TestActionInvoker -- 05:50:04:3050
- ------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 InvokeAction 方法 -- 05:50:04:3050
- --------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 GetControllerDescriptor 方法 -- 05:50:04:3060
- --------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 GetControllerDescriptor 方法返回了:ReflectedControllerDescriptor -- 05:50:04:3060
- --------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 FindAction 方法传入了:LogOnUserControl -- 05:50:04:3060
- --------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 FindAction 方法返回了:ReflectedActionDescriptor -- 05:50:04:3060
- --------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 GetFilters 方法 -- 05:50:04:3070
- --------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 GetFilters 方法返回了:FilterInfo -- 05:50:04:3070
- --------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 InvokeAuthorizationFilters 方法 -- 05:50:04:3070
- -----------------------------------------------------------------------------------------------------开始执行TestController 类的 OnAuthorization 方法 -- 05:50:04:3070
- ----------------------------------------------------------------------------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IAuthorizationFilter.OnAuthorization 方法 -- 05:50:04:3080
- --------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 InvokeAuthorizationFilters 方法返回了:AuthorizationContext -- 05:50:04:3080
- --------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 GetParameterValues 方法 -- 05:50:04:3080
- --------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 GetParameterValues 方法返回了:Dictionary`2 -- 05:50:04:3080
- --------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 InvokeActionMethodWithFilters 方法 -- 05:50:04:3090
- -------------------------------------------------------------------------------------------------------开始执行TestController 类的 OnActionExecuting 方法 -- 05:50:04:3090
- --------------------------------------------------------------------------------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IActionFilter.OnActionExecuting 方法 -- 05:50:04:3090
- ---------------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 InvokeActionMethod 方法 -- 05:50:04:3100
- ----------------------------------------------------------------------------------------------------------------开始执行TestController 类的 PartialView 方法 -- 05:50:04:3100
- ----------------------------------------------------------------------------------------------------------------结束执行TestController 类的 PartialView 方法返回了:TestPartialViewResult -- 05:50:04:3110
- -----------------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 CreateActionResult 方法 -- 05:50:04:3110
- -----------------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 CreateActionResult 方法返回了:TestPartialViewResult -- 05:50:04:3110
- ---------------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 InvokeActionMethod 方法返回了:TestPartialViewResult -- 05:50:04:3120
- --------------------------------------------------------------------------------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IActionFilter.OnActionExecuted 方法 -- 05:50:04:3120
- -------------------------------------------------------------------------------------------------------开始执行TestController 类的 OnActionExecuted 方法 -- 05:50:04:3120
- --------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 InvokeActionMethodWithFilters 方法返回了:ActionExecutedContext -- 05:50:04:3120
- --------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 InvokeActionResultWithFilters 方法传入了:TestPartialViewResult -- 05:50:04:3130
- -------------------------------------------------------------------------------------------------------开始执行TestController 类的 OnResultExecuting 方法 -- 05:50:04:3130
- --------------------------------------------------------------------------------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IResultFilter.OnResultExecuting 方法 -- 05:50:04:3130
- ---------------------------------------------------------------------------------------------------------开始执行TestActionInvoker 类的 InvokeActionResult 方法 -- 05:50:04:3130
- -----------------------------------------------------------------------------------------------------------开始执行TestPartialViewResult 类的 ExecuteResult 方法 -- 05:50:04:3140
- -------------------------------------------------------------------------------------------------------------开始执行TestPartialViewResult 类的 FindView 方法 -- 05:50:04:3140
- ------------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 FindPartialView 方法传入了:LogOnUserControl,useCache -- 05:50:04:3150
- ------------------------------------------------------------------------------------------------------------------结束执行TestViewEngine 类的 FindPartialView 方法返回了:ViewEngineResult -- 05:50:04:3150
- ------------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 FindPartialView 方法传入了:LogOnUserControl -- 05:50:04:3150
- ----------------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 FileExists 方法传入了:~/Views/Home/LogOnUserControl.aspx -- 05:50:04:3160
- ----------------------------------------------------------------------------------------------------------------------结束执行TestViewEngine 类的 FileExists 方法返回了:False -- 05:50:04:3170
- ----------------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 FileExists 方法传入了:~/Views/Home/LogOnUserControl.ascx -- 05:50:04:3170
- ----------------------------------------------------------------------------------------------------------------------结束执行TestViewEngine 类的 FileExists 方法返回了:False -- 05:50:04:3170
- ----------------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 FileExists 方法传入了:~/Views/Shared/LogOnUserControl.aspx -- 05:50:04:3180
- ----------------------------------------------------------------------------------------------------------------------结束执行TestViewEngine 类的 FileExists 方法返回了:False -- 05:50:04:3180
- ----------------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 FileExists 方法传入了:~/Views/Shared/LogOnUserControl.ascx -- 05:50:04:3190
- ----------------------------------------------------------------------------------------------------------------------结束执行TestViewEngine 类的 FileExists 方法返回了:True -- 05:50:04:3210
- --------------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 CreatePartialView 方法传入了:~/Views/Shared/LogOnUserControl.ascx -- 05:50:04:3220
- --------------------------------------------------------------------------------------------------------------------结束执行TestViewEngine 类的 CreatePartialView 方法返回了:TestView -- 05:50:04:3220
- ------------------------------------------------------------------------------------------------------------------结束执行TestViewEngine 类的 FindPartialView 方法返回了:ViewEngineResult -- 05:50:04:3220
- -------------------------------------------------------------------------------------------------------------结束执行TestPartialViewResult 类的 FindView 方法返回了:ViewEngineResult -- 05:50:04:3230
- -------------------------------------------------------------------------------------------------------------开始执行TestView 类的 Render 方法 -- 05:50:04:3230
- ----------------------------------------------------------------------------------------------------------------------------------------------------------开始执行TestRoute 类的 GetVirtualPath 方法 -- 05:50:04:3480
- -------------------------------------------------------------------------------------------------------------------------------------------------------------开始执行TestRoute 类的 ProcessConstraint 方法 -- 05:50:04:3560
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------结束执行TestRouteConstraint 类的 Match 方法返回了:True -- 05:50:04:3560
- -------------------------------------------------------------------------------------------------------------------------------------------------------------结束执行TestRoute 类的 ProcessConstraint 方法返回了:True -- 05:50:04:3560
- ----------------------------------------------------------------------------------------------------------------------------------------------------------结束执行TestRoute 类的 GetVirtualPath 方法返回了:VirtualPathData -- 05:50:04:3570
- -------------------------------------------------------------------------------------------------------------开始执行TestViewEngine 类的 ReleaseView 方法传入了:TestView -- 05:50:04:3600
- --------------------------------------------------------------------------------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IResultFilter.OnResultExecuted 方法 -- 05:50:04:3600
- -------------------------------------------------------------------------------------------------------开始执行TestController 类的 OnResultExecuted 方法 -- 05:50:04:3610
- --------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 InvokeActionResultWithFilters 方法返回了:ResultExecutedContext -- 05:50:04:3610
- ------------------------------------------------------------------------------------------------结束执行TestActionInvoker 类的 InvokeAction 方法返回了:True -- 05:50:04:3610
- -------------------------------------------------------------------------------------------开始执行TestControllerFactory 类的 ReleaseController 方法 -- 05:50:04:3620
- ----------------------------------------------------------------------------------------------开始执行TestController 类的 Dispose 方法 -- 05:50:04:3620
- ----------------------------------------------------------------------------------开始执行TestRoute 类的 GetVirtualPath 方法 -- 05:50:04:3620
- -------------------------------------------------------------------------------------开始执行TestRoute 类的 ProcessConstraint 方法 -- 05:50:04:3620
- ---------------------------------------------------------------------------------------结束执行TestRouteConstraint 类的 Match 方法返回了:True -- 05:50:04:3630
- -------------------------------------------------------------------------------------结束执行TestRoute 类的 ProcessConstraint 方法返回了:True -- 05:50:04:3630
- ----------------------------------------------------------------------------------结束执行TestRoute 类的 GetVirtualPath 方法返回了:VirtualPathData -- 05:50:04:3630
- ----------------------------------------------------------------------------------开始执行TestRoute 类的 GetVirtualPath 方法 -- 05:50:04:3630
- -------------------------------------------------------------------------------------开始执行TestRoute 类的 ProcessConstraint 方法 -- 05:50:04:3640
- ---------------------------------------------------------------------------------------结束执行TestRouteConstraint 类的 Match 方法返回了:True -- 05:50:04:3640
- -------------------------------------------------------------------------------------结束执行TestRoute 类的 ProcessConstraint 方法返回了:True -- 05:50:04:3640
- ----------------------------------------------------------------------------------结束执行TestRoute 类的 GetVirtualPath 方法返回了:VirtualPathData -- 05:50:04:3640
- ---------------------------------------开始执行TestViewEngine 类的 ReleaseView 方法传入了:TestView -- 05:50:04:3650
- ----------------------------------开始执行TestActionFilterOnActionAttribute 类的 System.Web.Mvc.IResultFilter.OnResultExecuted 方法 -- 05:50:04:3650
- --------------------------------开始执行TestActionFilterOnControllerAttribute 类的 System.Web.Mvc.IResultFilter.OnResultExecuted 方法 -- 05:50:04:3650
- -------------------------------开始执行TestController 类的 OnResultExecuted 方法 -- 05:50:04:3650
- --------------------------结束执行TestActionInvoker 类的 InvokeActionResultWithFilters 方法返回了:ResultExecutedContext -- 05:50:04:3650
- ------------------------结束执行TestActionInvoker 类的 InvokeAction 方法返回了:True -- 05:50:04:3650
- --------------------------开始执行TestTempDataProvider 类的 SaveTempData 方法 -- 05:50:04:3670
- -------------------开始执行TestControllerFactory 类的 ReleaseController 方法 -- 05:50:04:3670
- ----------------------开始执行TestController 类的 Dispose 方法 -- 05:50:04:3670
欢迎大家阅读我的极客时间专栏《Java业务开发常见错误100例》【全面避坑+最佳实践=健壮代码】