随笔分类 -  Asp.Net

摘要:上篇说到当一个Http请求流到HttpHandler这里时才开始对它的处理,那么一个请求经过HttpHandler之后,到底怎么对它处理呢,也就是说HttpHandler会触发哪些事件,触发的顺序如何,我们可以在此中间做些什么?话说我们今天的重中之重:页面生命周期,说的就是Page类在处理页面的过程中都发生了哪些事件,而这些事件又是按照什么顺序发生的。ASP.NET的页面生命周期跟我们之前的理论讲解完全不同,它具有非常强大的实用性,所以我想通过一个小例子来进行解释和说明,以便让大家看起来更清晰和容易理解。因为Page类的ProcessRequest方法实现非常的复杂,我把代码反编译过来给大家看 阅读全文
posted @ 2013-07-27 15:10 Aseven 阅读(1070) 评论(0) 推荐(1) 编辑
摘要:如果您看了我的前四篇文章,应该知道目前Http请求已经流到了HttpModule这个程序员手中了,而且我们可以注册自己的HttpModule并且可以在里面注册一些事件来控制这个Http请求,但是到目前为止我们还没有真正的处理这个Http请求,那究竟什么时候开始处理呢,又是怎样处理的呢,下面我们来简单探讨一下!其实是在HttpModule中触发PreRequestHandlerExecute事件之后,才真正把控制权交给了HttpHandler这个程序员,在第一篇中我们说到,HttpHandler它他天生就会处理页面,它用了一招“乾坤大挪移”的功夫,就把上下文Context中的Request对象给 阅读全文
posted @ 2013-07-13 21:48 Aseven 阅读(1149) 评论(5) 推荐(5) 编辑
摘要:上回我们说的当一个Http请求来到HttpModule这里的时候,Asp.Net内部并未对这个Http请求做出任何的处理,我们可以对这个Http请求添加一些我们需要的信息,以方便我们控制这个Http请求。我们添加控制信息一般情况下是通过添加一些事件来控制的,那么HttpModule内部到底有哪些事件呢,他们的执行顺序又是怎样的呢?1、HttpModule的事件BeginRequest指示请求处理开始AuthenticateRequest封装请求身份验证过程AuthorizeRequest封装检查是否能利用以前缓存的输出页面处理请求的过程ResolveRequestCache从缓存中得到相应时候 阅读全文
posted @ 2013-07-09 22:49 Aseven 阅读(1651) 评论(6) 推荐(5) 编辑
摘要:上文讲到了HttpRunTime主要做了三个事情,我们先回忆一下。第一:雇佣了项目经理(HttpApplication)。第二:建立了HttpModule列表,项目经理(HttpRunTime)就是按照这个工作列表去工作的。第三:创建了Context上下文对象(包含了HttpRequest和HttpResponse两大主要对象),并把它转交给了HttpApplication去处理。下面最重要的是HttpModule到底是个什么东东,HttpApplication又是怎么样按照它的工作列表去工作的。当一个请求到达HttpModule时,整个Asp.Net系统并没有对这个Http请求做任何的处理, 阅读全文
posted @ 2013-07-08 22:38 Aseven 阅读(1732) 评论(5) 推荐(6) 编辑
摘要:在上回书开始的时候我们提到博客园的IIS看了一眼我的请求后就直接交给ASP.NET去处理了,并且要求ASP.NET处理完之后返回HTML以供展示。那么我们不仅要问:1, IIS肯定是没有眼睛的啦,那它是怎么“看”的呢?2, 在“看”到了.aspx的页面请求后又是如何把它交给ASP.NET的呢?如果不做任何处理那它的存在又有什么意义呢?3, ASP.NET收到这个处理请求后又是如何做的呢?它是怎么创建Context对象又是如何“雇佣”项目经理HttpApplication对象的呢?本文将就这些问题进行深入而简单的探讨。IIS通过请求的后缀去看,IIS中的isapi就是它的眼睛和路由,我们可以通过 阅读全文
posted @ 2013-07-08 14:26 Aseven 阅读(2077) 评论(5) 推荐(6) 编辑
摘要:Asp.Net生命周期对于初级甚至中级程序员来说,一直都是一个难题,很多程序员不了解生命周期,导致使用Asp.Net做开发感觉很不灵活,感觉太多东西被微软封装好了,我们不能改变,其实只要你稍微了解一下就知道,原来不是这样的!我写这一系列文章是采用总分的方式,先让大家整体了解,然后再逐一突破。先将一个故事,也是园子里看到的(http://www.cnblogs.com/GodSpeed/archive/2010/06/19/1761095.html),我认为这个写的有些细节上的错误,稍稍添加些自己的想法和理解,如有错误,还请留言!当你访问博客园想看我的这篇文章的时候,这个请求就被博客园的WEB 阅读全文
posted @ 2013-07-07 20:48 Aseven 阅读(2657) 评论(13) 推荐(14) 编辑