.NET Framework运行机制知识讲解

开发 后端
.NET Framework运行机制的学习对于初学者来说是非常重要的。我们需要在学习的过程中着重注意这一机制,方便将来的编码。

认真的学习掌握.NET Framework运行机制,有益于我们实际开发。在这里我们将会对.NET Framework运行机制进行一个详细的介绍,希望对大家有所帮助,提高大家对.NET Framework的认识。#t#

记得前一段时间有本不错的书叫Delphi深度历险,写得不错,我也就暂且借用了,:)

在这里我不打算简单介绍ASP.NET的入门知识了,ASP.NET除了名字和古老的ASP有些相同外,已经是完完全全的改变了,虽然你仍能在ASP.NET中发现你熟悉的 Session,Application等等

但是不要尝试将他们同远古的ASP时代的Session等等画上等号。

我们来慢慢的深入到ASP.NET Framework的核心内部,看看她是如何实现的,看看她是如何能承担起下一代Web开发技术平台这个美誉的。

这篇东东不曾想过要完成多少章节,也没有这个必要,权当日记的形式存在,或许很短,或许很长,我会尽我的所能来将.NET Framework运行机制展现在诸位面前。

如果你对ASP.NET Framework没有任何了解,你同样可以成为ASP.NET coding高手,如果是这样,你就不必继续看下去了。

Chapter One -- Process a http request.

我们瞧一瞧.NET Framework运行机制和架构。

在开始之前,我们先跟随考古学家参观一下古老的ASP运行机制:

当你请求一个*.asp文件的时候,这个http request首先被inetinfo.exe进程所截获,这个inetinfo.exe进程就是WWW服务进程,然后她会将这个请求转交给 asp.dll进程,asp.dll进程就会解释执行这个asp叶面,然后将解释后的数据流返回给客户端浏览器。

转过头来我们看看如今的.NET Framework运行机制是如何处理一个http request.

当你请求一个*.aspx文件的时候,同样的这个http request会被inetinfo.exe进程截获,她判断文件的后缀之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过一个被称为Http PipeLine的管道,将请求发送给ASPNET_WP.exe进程,当这个http request进入ASPNET_WP.exe进程之后,会通过HttpRuntime来处理这个请求,处理完毕将结果返回客户端。

OK,好像并没有太大的改进嘛,不要着急,在ASP.NET Framework中我们甚至能够了解到HttpRuntime的细节。好,继续深入下去:

当Http Request进入HttpRuntime之后,会继续进入到一个被称之为HttpApplication Factory的一个Container中,她会给出一个HttpApplication来处理传递进来的请求,这个请求会依次进入如下几个 Container:

HttpModule->HttpHandler Factory->HttpHandler。

当系统内部的HttpHandler的ProcessResquest方法处理完毕之后,整个Http Request就完成了,客户端也就得到相应的东东了。

整理一下ASP.NET Framework处理一个Http Request的流程:

HttpRequest-->inetinfo.exe-->ASPNET_ISAPI.dll-->Http Pipeline-->ASPNET_WP.exe-->HttpRuntime-->HttpApplication Factory-->HttpApplication-->HttpModule-->HttpHandler Factory-->HttpHandler-->HttpHandler.ProcessRequest()

.NET Framework运行机制的相关概念就为大家介绍到这里。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-01-06 10:43:49

.NET Framew

2015-11-20 11:20:54

js开发

2019-05-10 14:00:21

小程序运行机制前端

2009-02-03 14:00:20

PHP运行PHP调用PHP原理

2009-12-11 10:52:37

PHP运行机制

2010-02-01 17:19:30

C++运行机制

2018-12-26 16:30:09

SQL Server内部运行机制数据库

2019-08-15 10:17:16

Webpack运行浏览器

2019-10-11 09:00:00

JavaScriptEvent Loop前端

2023-05-26 08:01:01

FacebookVelox机制

2013-05-08 12:42:39

HTTP协议IIS原理ASP.NET

2010-02-23 10:15:22

WCF运行机制

2012-03-06 10:22:00

程序

2010-09-28 11:05:49

jQuery

2016-12-14 14:41:20

Hello World程序运行机制

2016-12-13 14:12:25

程序机制

2009-10-22 17:10:04

CLR和JRE运行机制

2015-11-16 11:17:30

PHP底层运行机制原理

2009-08-26 14:52:19

.NET Framew

2010-01-06 19:18:22

.NET Framew
点赞
收藏

51CTO技术栈公众号