.net Framework工作原理

 

Html aspx 之间区别

 

.html是静态页面,而.aspx则是动态页面。

ASP全名是Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的

WEB服务应用程序。ASP采用脚本语言VB Script OR Java Script 作为自己的开发语言,它可以连接数据库是动态页面!

HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面

这些页面可以被网上任何其他人浏览到,无论是用的是什么类型的电脑或浏览器。

 

HTML ASPX的工作机制

 

静态页面的工作机制

  1. 使用HTML编写静态页面,发布到WEB服务器端。
  1. 客户端通过浏览器请求该静态页面
  1. Web服务器根据请求定位该静态页面
  1. 该静态页面以HTML流的形式返回客户端。
  1. 客户端浏览器解释HTML流,并显示为WEB页面

动态页面的工作机制:

  1. 使用动态WEB开发技术编写的WEB应用程序,即动态页面,并发布到WEB服务器端
  2. 客户端通过浏览器请求该动态页面
  1. WEB服务器定位该WEB应用程序
  2. WEB服务器根据客户端的请求,对WEB应用程序进行编译或解释,并生成HTML
  3. 将生成的HTML以流的形式返回给客户端
  4. 客户端浏览器解释HTML流,并显示为WEB页面。

 

.NET Framework (.NET 架构)

 

.NET 架构旨在实现以下目标:

  1. 提供一个一致的面向对象的变成环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或远程执行的
  1. 提供一个将软件部署和版本控制冲突最小化的代码执行环境
  2. 提供一个可提高代码执行安全性的代码执行环境
  3. 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境
  1. 使开发人员的经验在面对类型大不相同的应用程序时保持一致
  2. 按照工业化标准生成所有通信,以确保基于.NET Framework的代码可与任何代码集成。

.NET 架构具有两个重要组件:公共语言运行库和.NET Framework的类库。

  1. 公共语言运行库是.NET Framework的基础。您可以将运行库看作为一个在执行过程时管理代码的代理,它提供内存管理、线程管理和远程管理等核心服务

以代码运行库为目标的代码是托管代码,而不以运行库为目标的代码是非托管代码。

  1. .NET Framework的另一个组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序。

 

IIS Internet Information Service的工作原理

 

当你按“如何去做”所讲解的内容去开发程序的时候,对于你的用户,你仍是一个程序员;但对于实现了MembershipProviderRoleProvider抽象类的微软开发人员来说,

你已经成为了他们的一个用户。

  1. 当服务器接收到一个Http请求的时候,IIS首先需要决定如何去处理这个请求,那么IIS该如何出来呢? ——根据文件的后缀名。

服务器获取所请求的页面的后缀名以后,接下来会在服务器端寻找可以处理这类后缀名的应用程序,如果IIS找不到可以出来此类文件的应用程序,并且这个文件也

没有收到服务器端的保护,那么IIS将直接把这个文件返回给客户端。

  1. 能够处理各种后缀名的应用程序,通常称为ISAPI应用程序(Internet Server Application Programe Interface,互联网服务器应用程序接口):它实际上只是一个接口,

起到一个代理的作用,它的主要工作是影射所请求的页面(文件)和与此后缀名相对应的实际的处理程序。

我们找到.aspx的应用程序,点击“编辑”,会出现下面的画面:

一路看来,可以看出,所有的.aspx文件实际上都是由aspnet_isapi.dll这个程序来出来的,当IIS把对于.aspx页面的请求交给aspnet_isapi.dll以后,它就不再

关心这个请求随后是如何处理的了。现在我们知道:ASP.NET只是服务器(IIS)的一个组成部分而已,它是一个ISAPI扩展。

  1. 理解宿主程序。从本质上讲,ASP.NET主要是一系列的类组成,这些类的主要目的就是将Http请求转变为对客户端的响应。HttpRuntime类是ASP.NET的一个

主要入口,它有一个称作ProcessRequest的方法,这个方法以一个HttpWorkerRequest类作为参数。HttpRuntime类几乎包含着关于单个Http请求的所有信息:

所请求的文件、服务器端变量、QueryStringHttp 头信息等等。ASP.NET使用这些信息来加载、运行正确的文件,并且将这个请求转换到输出流中,一般来说,

也就是HTML页面。

  1. 理解管道(handler)

1. HttpRuntimeHttp请求转交给HttpApplication,也就代表着程序员创建的Web应用程序。HttpApplication创建针对此Http请求的HttpContext对象,这些对象包含了

关于此请求得诸多其他对象,主要是HttpRequestHttpResponse,HttpSessionState等。

2. 接下来Http请求通过一系列的Module,这些ModuleHttp请求有完全的控制权。这些Module可以做一些执行某个实际工作前的事情

3. Http经过所有的Module之后,它会被HttpHandler处理。在这一步,执行一些实际的操作,通常也就是.aspx页面的业务逻辑。

总结

 

所以说,由一点触发,发散思维,有时候可以理解很多东西。

原文地址:https://www.cnblogs.com/limingyang/p/1870654.html