我在哪里可以找到反射器页面的启动?

时间:2011-07-24 14:08:46

标签: asp.net

如果我有

public partial class MyLittlePage: System.Web.UI.Page
{...

我已覆盖例如 OnLoad ......

我的问题:编译器在代码(反射器)中的位置创建了这个:

  System.Web.UI.Page= new MyLittlePage(); ??

我想看到所有多态影响的链条.. (或者换句话说:我正在为什么虚拟函数重载 OnLoad ?)

我知道虚拟功能在控制页面上 但我不能能够看到多态创建模式:

Class1 x = new Class2();

1 个答案:

答案 0 :(得分:1)

在ASP.NET 4的深处...

  1. HttpApplication使用嵌套的MaterializeHandlerExecutionStep类从HttpContext.Handler填充IHttpHandlerFactory
  2. 通过一层缓存,对Page(以及实施IHttpHandler的所有类型)的请求使用System.Web.Configuration.HandlerFactoryWrapper的实例。
  3. HandlerFactoryWrapper.GetHandler()依次调用HttpRuntime.CreateNonPublicInstance(),使用Activator.CreateInstance()来实例化该类。