.NET Framework

转载 2007年09月25日 21:28:00
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()中的所有代码。 

相关文章推荐

查看本机安装了哪些.Net Framework版本的方法

查看本机安装了哪些.Net Framework版本的方法2010-05-27 14:49:56|  分类: 系统安装 阅读414 评论0   字号:大中小 订阅 一:第一步: 打开“我的电脑“,在地址...

win10上 安装Sqlserver2008R2数据库提示.NET Framework3.5不存在,解决之后仍然提示兼容问题安装不成功

最近项目开发过程中,需要在win10系统上安装SqlServer2008R2的时候,刚开始提示需要安装.NET Framework3.5版本,通过360软件管家安装之后,仍然不行,安装sqlserve...

.Net Framework各个版本区别

什么是.NET Framework?   .NET Framework又称 .Net框架。是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(...

c++ java JRE c# .NET Framework 相关介绍

1.c#必须基于.net 框架才能运行。 2.java 就必须寄托于java 虚拟机运行 3.c++不需要寄托于任何框架平台运行,可以直接在win32系统上执行.手机上能运行java程序就是因为手...

从win32 api 到 .net framework(一)

1 、抛开windows开发使用的标准c/c++运行时库及windows商品化后包装的c/c++运行时库(邦到编译器里发布给用户使用)以及上层的mfc库等,我们且关注他提供的win32 api.及严格...
  • sshhbb
  • sshhbb
  • 2011-07-18 14:53
  • 1757

.NET Framework中的事件

.NET Framework中的事件   事件体系结构 引 发事件的对象叫做事件源。事件源发布它可以引发的事件。事件的类型总是委托类型,这个委托类型的签名定义了处理该事件的方法的签名。定义事件处...

C#如何发布符合 .NET Framework 准则的事件

最近项目需要,需要用到.NET框架,C#,以前没有接触过,勉强学学,感觉还行,学习起来不是很难。 最近学校“事件”,其中经典的就是pub-sub模型,在.NET中,有一种方法叫做委托,关键字dele...
  • lxmky
  • lxmky
  • 2012-10-23 13:38
  • 1696

如何在没有安装.NET Framework的电脑上运行C#程序

如何在没有安装.NET Framework的电脑上运行C#程序         这里要介绍的方法是直接利用飞信的框架来实现脱离 .Net framework运行。首先下载一个飞信的程序安装。在安装目...

.Net Framework各个版本区别

什么是.NET Framework?   .NET Framework又称 .Net框架。是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(...
  • tiana0
  • tiana0
  • 2013-09-15 09:35
  • 3950

.NET Framework的结构体系

因为工作需要使用到.net,也学习了一段时间,但是对于整体的体系不是太清楚,在网上找到2个比较好理解的结构图 这是.net的体系图,从这个图上可以看到,ASP.NET,Windows For...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)