学习编程语言,掌握面向对象的编程思想尤为重要,一旦理解了面向对象的这种概念,那么好些地方拿到生活中去理解,就容易的多了。
书本上的枯燥干涩的语言,对于好多人来说,即难懂,更难长时间牢牢记得。但是编程语言是为生活服务,也是来源于生活。我们的生活是丰富多彩的,那么,使用生活中的实例来理解编程,一切就容易的多了。
下面,我们就用生活中打电话的例子来理解ASP.NET运行时的内部过程:
当请求到达IIS后,IIS通过Aspnet_isapi.dll的作用将请求转交给ASP.NET运行时环境,在Asp.net运行时环境中进行一定处理,最终处理结果会返回给IIS,发送到客户端。
Asp.net运行时中处理请求是通过一系列对象完成的:
HttpApplication:通过使用HttpApplication类的一个实例来处理收到的众多请求,它每次只能处理一个请求。
生活实例:相当于手机网络运营商先接收所有拨打我们手机号码的所有电话请求,但是它每次只能给你传递一个电话请求,如果同时有两个或以上请求,就需要等待第一次请求结束才可以发送第二次请求。
HttpModule:对Http请求进行筛选过滤。它可以附加一些需要信息在这个Http请求,或者针对截获的请求信息做一些额外工作,更或者某些情况下干脆终止满足一些条件的HTTP请求。经过HttpModule赛选过滤后,把适合条件的HTTP请求传递给真正的处理中心(HttpHandler)。
生活实例:相当于手机,我们通过对手机的设置,可以设置来电防火墙,拦截黑名单的来点,也可以设置指定号码的联系人名称,头像和个性铃声等等。然后把来电防火墙放行的来电通过个性化的形式传递给我们。
HttpHandler:是HTTP请求的真正处理中心。Http请求经过它的处理后,再通过httpApplication发出回应。
生活实例:相当于人,来电经过防火墙过滤,以设定的格式通知手机持有者,手机持有者接听电话,并将回复声音通过手机网络运营商传递到来电拨打者。
当然,仅仅理解了这个过程并没有什么了不起的,但是,它会在我们以后实现一些相关的功能的时候,能够很快的明白我们要用的是什么,要从哪里下手。而不再是“我要怎么做,要用什么技术”。