使用代码测试ASP.NET MVC2执行流程

简介: 测试代码点击这里下载,通过此代码也剖析了MVC2的扩展点和扩展方式(其实在不调用基类的情况下填满所有重写的方法也就完成了大半个MVC框架)。 MVC执行流程如下(可以直接下载代码运行页面查看此结果): ----------------开始执行TestMvcApplication 类的 ...

测试代码点击这里下载,通过此代码也剖析了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
作者: lovecindywang
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章
|
9天前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
1月前
|
开发框架 .NET PHP
ASP.NET Web Pages - 添加 Razor 代码
ASP.NET Web Pages 使用 Razor 标记添加服务器端代码,支持 C# 和 Visual Basic。Razor 语法简洁易学,类似于 ASP 和 PHP。例如,在网页中加入 `@DateTime.Now` 可以实时显示当前时间。
|
3月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
4034 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
1136 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
3月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
57 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
3月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
707 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
198 0
|
3月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
76 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
279 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
机器学习/深度学习 算法 PyTorch
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-7.0版本进行目标检测的完整流程,包括算法介绍、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。YOLOv5以其高精度、快速度和模型小尺寸在计算机视觉领域受到广泛应用。
1263 0
目标检测实战(五): 使用YOLOv5-7.0版本对图像进行目标检测完整版(从自定义数据集到测试验证的完整流程)

热门文章

最新文章