C# System.Web.Mvc.dll执行顺序

C# System.Web.Mvc.dll执行顺序,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我试图找出System.Web.Mvc.dll和相关dll(Razor、WebPages)中代码的大致流程 我在MVC web应用程序中有一个控制器。此控制器具有一个返回ViewResult的端点。这个ViewResult下一步去哪里?具体来说,视图信息如何传播到Razor引擎并进行渲染?代码的哪一部分进行了调用 我曾尝试过针对源代码进行调试,但很难做到这一点,因此我希望如果有人熟悉该代码,可以提供一个概述。对流程的概述将非常有帮助。尽管这可能会对某人有所帮助,但我还是在没有调试器的情况下拼凑出

我试图找出System.Web.Mvc.dll和相关dll(Razor、WebPages)中代码的大致流程

我在MVC web应用程序中有一个控制器。此控制器具有一个返回ViewResult的端点。这个ViewResult下一步去哪里?具体来说,视图信息如何传播到Razor引擎并进行渲染?代码的哪一部分进行了调用


我曾尝试过针对源代码进行调试,但很难做到这一点,因此我希望如果有人熟悉该代码,可以提供一个概述。对流程的概述将非常有帮助。

尽管这可能会对某人有所帮助,但我还是在没有调试器的情况下拼凑出了流程的大致草图

这显然不是100%准确,但总的想法应该很清楚: ViewResultBase.ExecuteSult=>ViewResult.FindView =>ViewEngineCollection.FindView=>VirtualPathProviderViewEngine.FindView=> 如果未找到=>abstract CreateView=>RazorViewEngine.CreateView=>View.Render(BuildManagedCompiledView.Render:实际编译并创建页面)=>RazorView.RenderView(实际调用ExecutePageHierarchy命令)