ASP.NET - aspnet_isapi.dll如何构造页面类
我们都知道,当收到对abc.aspx的请求时,aspnet_isapi.dll会对其执行并调用页面的processrequest方法。我的问题是,它如何创建页面类的实例,以及它如何调用页面生命周期。它实现了哪种模式?ASP.NET - aspnet_isapi.dll如何构造页面类
那么,我们所有人都知道ASP.NET运行时调用处理程序的ProcessRequest来启动该进程。我的问题是它是如何做到的。在页面名称(abc.aspx)的基础上,它创建了该类的abc并调用了该类的某些方法,现在它如何创建abc的对象,是我的问题。
回答:
下面这段代码尝试是接收请求和发送响应之间发生的阶段。
这是application life cycle
的执行处理程序的阶段,其中该处理器(范围限定于 URL的模块)被调用来构造响应。对于.aspx文件,使用PageHandlerFactory处理程序来响应请求。对于 静态文件,本机代码StaticFileModule模块响应 请求。
这是由PageHandlerFactory
所做的PageHandlerFactory创建的,从 Page类继承并实现IHttpHandler接口的类的实例。动态创建的实例为 ,用于处理ASP.NET文件的请求。 PageHandlerFactory类是ASP.NET页面的默认处理程序工厂实现 。
PageHandlerFactory类实现IHttpHandlerFactory接口,为ASP.NET文件提供默认HTTP处理程序。如果需要 ,PageHandlerFactory调用ASP.NET编译系统进行编译,并返回与该URL对应的确切类型,然后 然后创建该类型的实例。页面类型继承自页面类并实现IHttpHandler接口。
回答:
这种事情是有据可查的:
http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
回答:
您可以根据HttpContext.Response.Redirect
public void ProcessRequest(HttpContext context) {
context.Response.Write("<H1>This is an HttpHandler Test.</H1>");
context.Response.Redirect("YourPage.aspx");
}
回答:
我认为这是你在找什么..
http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp
以上是 ASP.NET - aspnet_isapi.dll如何构造页面类 的全部内容, 来源链接: utcz.com/qa/263248.html