关闭

.NET Framework

453人阅读 评论(0) 收藏 举报
NET是一个内涵很广的术语,它包含了微软公司对未来的核心战略、规划与洞察力。此战略的核心就是.NET Framework,该构架提供了全面支持.NET的核心技术。.NET Framework本身由若干组件组成:
MSIL——MS中间语言,.NET的通用语言。程序员可以使用任何.NET语言编写代码,包括VB、C#、JScript和其他大约20种语言。这些代码都会编译为MSIL。
CLR——公共语言运行时,负责在计算机上执行MSIL、与Windows和IIS交互时所涉及的全部实质性任务。
.NET Framework类库——包含大量重要功能的代码库。用户可以非常方便地将这些库调用到应用程序中,使复杂任务的程序代码更为简洁。
.NET语言——是符合一些特殊要求(由公共语言规范定义)的编程语言,能够编译成MSIL。
ASP.NET——该模块扩展了IIS,使之能通过.NET Framework创建Web页面。
Web服务——可通过Web访问的组件,并可以在应用程序中使用。它们可以提供任何功能,例如新闻标题、天气预报、股票走势等。

2.1.1 编译(从用户代码到机器代码)
将用户代码(用高级语言编写的程序代码)转换为机器代码(机器可以识别的二进制代码)的过程称为编译。编译过程包括将本机环境信息写入经编译的程序代码这一过程,因此编译后的程序代码可以高效地利用计算机的所有可用资源。
预编译代码:在使用前时行编译的代码。对于这种代码,由于编译器有机会花时间分析全部的代码和要运行它的机器,因此代码能够以很快的速度执行。不过,由于预编译的代码是针对某一计算机的,因此除非仍在该计算机上运行编译后的代码,否则需要将另一台计算机设成与第一台计算机相同的系统与资源。
解释代码:边执行边编译的代码。这种代码执行较慢,因为需要为每个请求编译代码,且系统没有机会全面优化所编译的代码。不过,其优点是解释过程可以调整,以适应运行代码的机器。
所以,开发人员在选择语言时将面临一个两难的局面。他们可以选择较慢的解释代码以适应运行代码的机器,也可以选择较快的预编译代码但移植性较差。

2.1.2 中间语言介绍
.NET在编译时采用两步法来解决这个问题。.NET编译器将程序代码编译成MSIL的特殊格式,编译过程包括了一些代码,但并没有针对某台机器进行优化。因此,MSIL具有一般的优化性能,并可以移植到任何.NET服务器上。
当用户执行编译为MSIL的页面时,将其传给公共语言运行时CLR,CLR使用JIT(Just-In-Time)编译器将代码编译成真正的机器码,并对程序进行最后的、且与机器相匹配的优化,以使程序能在其所在的计算机上以尽可能快的速度运行。
因此,MSIL和CLR组合使用,具有两种编译代码的优点:预编译代码的结构优化和解释代码的可移植性。
更为重要的是,MSIL本身与机器无关,因此,可以在装有CLR的任一计算机上运行。

2.1.3 对象
对象是自包含的功能单位,就像一个小型程序,其中包含可以完成特定任务的数据或代码。使用预先编写好的对象有如下优势:
① 避免为多次使用而重复编写代码
② 对象允许购买超出我们开发能力范围或资源的功能
③ .NET对象是标准化的,其他程序员可以方便的发现和使用对象的功能
④ 对象可以用任何与.NET兼容的语言编写。
模型对象称为类定义。

2.1.4 .NET的基类
.NET Framework的一个非常重要的特性是它具有基类库,它可以使程序员避免那些工作量大得令人头疼、且枯燥无味的编码工作。基类库中包含大量微软已经编写好的代码,程序员可以将它们包括到任一程序中。要利用这些代码,只需要知道如何使用对象即可,不需要理解代码的内部工作原理。
命名空间:.NET用命名空间将功能相似的类组合到一起。为了使用包含在命名空间中的类,需要导入这些命名空间。

2.2 ASP.NET的工作原理
ASP.NET文件以.aspx扩展名保存。
当安装.NET时,本地的IIS Web服务器会自动配置以查找扩展名为.aspx的文件,且用ASP.NET模块(名为aspnet_isapi.dll的文件)处理这些文件。

在Web页面中插入ASP.NET代码有3种方式:
1:使用内联代码:使用<% %>作为界定符,在ASP中经常使用,在ASP.NET中不推荐使用。
2:使用<script runat="server">脚本代码
一个应用程序(多个页面)的各个部分可以使用多种语言编写,但不能在一个页面上混合使用多种语言。
C#代码可以位于ASPX页面的任何地方。
每个代码块都必须位于一个函数或方法声明中。
方法在其他代码触发它时执行。它也许会触发一次,也许触发多次,也许永远不触发。
如何在第一次建立页面时,让某类触发器自动运行代码?换言之,无论事件是否发生,都执行某些代码?在创建页面时,ASP.NET模块会执行位于一个特定方法即Page_Load()中的所有代码。 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:822924次
    • 积分:9281
    • 等级:
    • 排名:第1956名
    • 原创:32篇
    • 转载:476篇
    • 译文:0篇
    • 评论:97条
    最新评论
    电子商务网站导航点评