多数情况下控制器action方法返回ViewResult对象,MVC内建action调用器ControllerActionInvoker负责调用 控制器action方法并调用视图引擎处理ViewResut,由视图引擎将ViewResult转化为ViewEngineResult对 象,ViewEngineResult对象内含实现IView接口的视图对象,最终MVC框架调用视图对象的Render的方法渲染输出结果。
通过反编译查看源代码也确实如此,
但是如果在一个cshtml中 @this.GetType().Assembly.Location 查看源码的时候却发现
最终的渲染是有Execute方法来执行的,而且被编译的cshtml也没有实现IView接口 而是继承了WebViewPage等一系列的类和接口 这是怎么回事?