第2章 Visual Studio.NET简介 章 简介
Microsoft.NET 的组件
.NET 设备软件 .Net 基础结构 和工具 .Net 用户体验 .NET 生成 块服务 第三方 .NET 服务 Windows.NET MSN.NET VS.NET MS.NET 平台 MS.NET 产品和服务 Office.NET bCentral server for .NET
一些有机会生产构建在 .NET 平 台上的服务的合作伙伴和开发人 员
Microsoft.Net 平台的功能
构建在 XML 和 Internet 协议的基础之上
用于开发新 一代
软件的一套工具和服务集 旨在使对 Internet 上的任何资源组进行集 成/编排成为可能 可以更快更容易地设计、实现 和部署协作式 Web 解决
方案 Microsoft.NET X X M M L L Internet Internet 协议 协议
XML(eXtend Mark Language) ( )
将实际数据与表现形式分开 构建新一代 Internet 的关键;使得能够对信 息进行整理、编程和编辑 提供了一种将数据发布到多种设备的方法 使站点能够进行协作并提供 能够彼此交互的 Web 服务组合体
Microsoft.NET X M L Internet 协议
SOAP 的功能
Microsoft.NET 构建在 HTTP 和 SOAP (简单对象访问协议)等现有协议上
SOAP 是基于 XML/HTTP 的协议 SOAP 允许以独立于平台的方式访问服务、 对象和服务器 SOAP 用于在 分散的分布式 环境中交换信息
Microsoft.NET X M L Internet 协议
Framwork1.1 Microsoft.NET 平台 Framwork2.0
编排
.NET 框架 .NET .NET 生 Enterprise 成块服务 Server
Windows CE、Windows ME、 、 、 Windows 2000 和 Windows.NET
2.1 .NET结构概貌 结构概貌
Web 应用 / Windows应用 / …… .NET 框架
操作系统 图2.1 .NET开发平台和基 于.NET的应用
2.1.1 .NET框架 框架
VB.NET VC++.NET C# J# 其它语言
CLS: Common Language Specifications(公共语言规范) Web Service Windows Forms
Data and XML Classes: ASP.NET、XML、ADO.NET、SQL Server s .NET 框架类库 CLR: Common Language Runtime(公共语言运行库)
图2.2 .NET的体系结构
2.1.1 .NET框架 框架
VB.NET源程序 C#.NET源程序
CLS: 公共语言规范 VB.NET编译器 C#编译器
MSIL: Microsoft 中间语言 CLR: 公共语言运行库 (JIT: Just In Time编译器) 本地代码 图2.3 代码执行流程的示例
.NET 所支持的语言
C#
JScript.NET
ADA
VB.NET
Eiffel
VC++
Python
COBOL
SmallTalk
2.1.2 托管代码和托管数据
支持跨语言集成是.NET的一大特色,跨语言集成又称为跨语言编程、混合 编程或者跨语言互操作,为了达到这一目标,.NET框架中的采用了一系列 新技术,这些技术不能涵盖现有语言的所有成分,有的甚至彼此有矛盾的, 所以,在.NET中,代码分为managed code和unmanaged code,前者称为托 管代码或受控代码,后者称为非托管代码或非受控代码。虽然.
NET支持这 两种代码形式,但是托管代码更体现了现代语言的风格,更完整地体现面 向对象程序设计的思想。在本书以后的内容
中,除非特别说明,我们的讨 论都围绕托管代码展开。实际上,使用托管代码,才能安全而又最大限度 地利用.NET的技术和资源。 托管代码能够在公共语言运行库中受到管理和服务,能够安全而高效运行, 为此,托管代码必须向CLR提供最低级别的信息——元数据(metadata), 全新设计的 C#、Visual Basic .NET 和 J #.NET 代码都受托管。而Visual C++ .NET代码默认地不受托管,但是编译器可以通过指定命令行开关 (/CLR) 来产生托管代码。
2.2 .NET的核心成分简介 (1) 的核心成分简介 )
2.2.1 公共语言运行库(CLR: Common Language ( Runtime) )
CLR和下面介绍的类库是.NET框架的两个实体。CLR基本功能 是运行代码并且提供各种服务,使得整个运行更加简易。主 要功能包括: 执行和管理:完成运行过程中的代码加载、应用程序和托 管对象的内存管理、对象自动布局、使用JIT将MSIL编译成 本地代码并且控制代码执行、处理异常等全部步骤 提供安全保证:类型安全、代码访问安全、控制托管和非 托