文章分类 -  asp.net底层

摘要:我说的这些对你来说够底层了吗?唷-我们已经走完了整个请求处理过程了.这过程中有很多底层的信息,我对HTTP模块和HTTP处理器是怎么工作的并没有描述的非常详细.挖掘这些信息相当的费时间,我希望在了解了ASP.NET底层机制后,你能获得和我一样的满足感.在结束之前让我们快速的回顾一下我在本文中讨论的从IIS到处理器(handler)的过程中,事件发生的顺序IIS获得请求检查脚本映射中,此请求是否映射... 阅读全文
posted @ 2009-07-15 14:36 磊子 阅读(147) 评论(0) 推荐(0)
摘要:“流过”ASP.NET管道HttpApplication触发事件来通知你的程序有事发生,以此来负责请求流转.这作为HttpApplication.Init()函数的一部分发生(用Reflector查看System.Web.HttpApplication.InitInternal()方法和HttpApplication.ResumeSteps()方法来了解更多详情),连续设置... 阅读全文
posted @ 2009-07-15 14:35 磊子 阅读(154) 评论(0) 推荐(0)
摘要:HttpHandlers模块是相当底层的,而且对每个来到ASP.NET应用程序的请求都会被触发.Http处理器更加的专注并处理映射到这个处理器上的请求.Http处理器需要实现的东西非常简单,但是通过访问HttpContext对象它可以变得非常强大.Http处理器通过实现一个非常简单的IHttpHandler接口(或是它的异步版本,IHttpAsyncHandler),这个接口甚至只含有一个方法-P... 阅读全文
posted @ 2009-07-15 14:35 磊子 阅读(189) 评论(0) 推荐(0)
摘要:HttpRuntime,HttpContext和HttpApplication当一个请求到来时,它被路由到ISAPIRuntime.ProcessRequest()方法.这个方法调用HttpRuntime.ProcessRequest方法,它作一些重要的事情(用Reflector查看System.Web.HttpRuntime.ProcessRequestInternal方法):为请求创建一个新的... 阅读全文
posted @ 2009-07-15 14:33 磊子 阅读(171) 评论(0) 推荐(0)
摘要:回到运行时在这里我们有一个在ISAPI扩展中活动的,可调用的ISAPIRuntime对象的实例.每次运行时是启动的并运行着的时候(译注:相对的,如果运行时并没有启动,就需要象上一章所说的那样载入运行时),ISAPI的代码调用ISAPIRuntime.ProcessRequest()方法,这个方法是真正的进入ASP.NET管道的入口.这个流程在图4中显示.记住ISAPI是多线程的,所以请求也会通过A... 阅读全文
posted @ 2009-07-15 14:32 磊子 阅读(159) 评论(0) 推荐(0)
摘要:进入.NET运行时 进入.NET运行时的真正的入口发生在一些没有被文档记载的类和接口中(译著:当然,你可以用Reflector来查看J).除了微软,很少人知道这些接口,微软的家伙们也并不热衷于谈论这些细节,他们认为这些实现细节对于使用ASP.NET开发应用的开发人员并没有什么用处.工作进程(IIS5中是ASPNET_WP.EXE,IIS6中是W3WP.EXE)寄宿.NET运行时和ISAPI DLL... 阅读全文
posted @ 2009-07-15 14:30 磊子 阅读(157) 评论(0) 推荐(0)
摘要:IIS 5 和6以不同的方式工作当一个请求来到时,IIS检查脚本映射(扩展名映射)然后把请求路由到aspnet_isapi.dll.这个DLL的操作和请求如何进入ASP.NET运行时在IIS5和6中是不同的.图2显示了这个流程的一个粗略概览.在IIS5中,aspnet_isapi.dll直接寄宿在inetinfo.exe进程中,如果你设置了Web站点或虚拟目录的隔离度为中或高,则会寄宿在IIS单独... 阅读全文
posted @ 2009-07-15 14:29 磊子 阅读(174) 评论(0) 推荐(0)
摘要:从浏览器到ASP.NET 让我们从一个典型的ASP.NET Web请求的生命周期的起点开始.当用户输入一个URL,点击了一个超链接或者提交了一个HTML表单(form)(一个POST请求,相对于前两者在一般意义上都是GET请求).或者一个客户端程序可能调用了一个基于ASP.NET的WebService(同样由ASP.NET来处理).在Web服务器端,IIS5或6,获得这个请求.在最底层,ASP.N... 阅读全文
posted @ 2009-07-15 14:27 磊子 阅读(197) 评论(0) 推荐(0)
摘要:了解ASP.NET底层架构进入底层这篇文章以非常底层的视角讲述了Web请求(request)在ASP.NET框架中是如何流转的,从Web服务器,通过ISAPI直到请求处理器(handler)和你的代码.看看在幕后都发生了些什么,不要再把ASP.NET看成一个黑盒了.ASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用.绝大多数的人只... 阅读全文
posted @ 2009-07-15 14:22 磊子 阅读(378) 评论(0) 推荐(0)