.NET 概述白皮书(MS)

来源:互联网 发布:知乎 云南大学校规校纪 编辑:程序博客网 时间:2024/05/22 01:23

.NET 概述白皮书

发布日期: 2004年06月02日
IT Showcase

Microsoft .NET 编程模型让企业开发人员减少对程序运行位置或方式等的关注,而更加重视应用程序的作用 - 他们在何处能够真正增值。本文研究了 .NET 前景对于企业 IT 专家的价值,讨论了其有利之处以及相关的技术要求。

摘要

CIO,企业结构设计师,开发人员,IT 专家对 Microsoft .NET 优势与技术要求基本内容的技术概述。

产品与技术

公共语言运行库

.NET Framework 类

ASP.NET

开发语言 (C#, Microsoft Visual Basic .NET, Microsoft JScript .NET)

Web 服务

.NET 远程处理

Windows 窗体

Microsoft Visual Studio .NET

Windows Server System

优点

单一共享的 IDE。IT 部门可以通过这个支持超过 20 种语言的公用工具得到标准化,因此开发人员可以充分利用他们的长处和技巧。

使新的业务流程和系统集成与运行平台无关。使 IT 机构拓展现有的应用程序,与合作伙伴集成。

改善的应用程序性能,安全型,以及简单的部署过程。

企业信息技术 (IT) 的角色一直以加速步调在变,从关心成本的削减,到关心削减成本同时带来收入和利润。这就意味着强调与供应商、合作伙伴以及公司 LAN 和防火墙之外的顾客建立快速且节省成本的集成。简而言之,意即事半功倍。

举例来说,Microsoft .NET 框架就提供了让开发人员一次编码即可在多种设备如智能电话 (smart phones) 和 Windows Powered Pocket PC 上工作的工具。

本篇技术概要描述了 Microsoft .NET 企业应用程序开发的基本原理,以及从 CIO、企业结构设计师、开发人员和 IT 专家的角度窥探其优势和技术要求,旨在帮助 IT 专家规划基础结构与程序开发环境。

*
本页内容
.NET Framework 基本构成.NET Framework 基本构成
公共语言运行库公共语言运行库
.NET Framework 类.NET Framework 类
ASP.NETASP.NET
C# (C Sharp)C# (C Sharp)
VisualBasic .NET (VB.NET)VisualBasic .NET (VB.NET)
JScript .NETJScript .NET
Web 服务Web 服务
.NET 远程处理.NET 远程处理
Windows 窗体Windows 窗体
Visual Studio .NETVisual Studio .NET
Windows Server SystemWindows Server System
结论:托管的代码与数据结论:托管的代码与数据

.NET Framework 基本构成

.NET 框架是 Windows Server System 构建,部署与运行 Web 服务与应用程序的编程模型。该框架托管了大部分深层结构,让开发人员专注于撰写应用程序的业务逻辑代码。.NET 框架的基本构成如下:

公共语言运行库

.NET Framework 类

ASP.NET

Web 服务

.NET 远程处理

Windows 窗体

返回页首返回页首

公共语言运行库

公共语言运行库是 .NET 框架应用程序的运行引擎。它提供了一系列服务,包括:

代码管理(装入与执行)

应用程序内存隔离

类型安全检查

中间语言到机器语言的转换

访问元数据(增强类型信息)

托管对象的内存管理

强制的代码访问安全性

异常处理,包括跨语言异常

托管代码(指向公共语言运行库服务的代码)、组件对象模型 (COM) 对象以及非托管代码和数据(早先的动态链接库 [DLLs])之间的交互操作

对象布局的自动化

为开发人员提供的服务支持(如配置文件和调试)

公共语言运行库负责运行时服务,如语言集成,强制安全,以及内存、进程和线程管理。除此之外,它还在开发时期承担如生命周期管理,强类型命名,跨语言异常处理以及动态绑定之类的角色,以减少开发人员将事务逻辑转成可重用组件必须写的代码数量。

图 1 显示了公共语言运行库的基本构成。

Figure 1: Common Language Runtime Elements

图 1 :公共语言运行库的基本构成
查看完整的图像。

公共语言运行库支持超过 20 种开发语言。这些语言通过编译器编译成中间语言,而正是中间语言代码,通过为特定系统优化的实时 (JIT) 编译器,再转换成机器语言。其后,这些托管代码通过客户端设备上的公共语言运行库而执行。

优点

公共语言运行库为开发人员构建不同类型的的应用程序提供了可靠的基础。无论是 ASP.NET 应用程序,Windows 窗体应用程序,XML Web 服务,移动应用程序,分布式应用程序,或者一个基于此几类模型的混合应用程序,公共语言运行库都提供了下列优点:

简单化的开发过程

不同语言的代码集成写作

代码识别的安全性

部署过程中消除了被称之为“DLL Hell”的 DLL 版本问题

可重用组件的版本控制

通过实现继承而实现复用

对象生命周期管理

对象描述

公共语言运行库让设计含有跨语言对象的组件与应用程序变得更加容易。不同语言写成的对象可以互相通讯,他们的行为可以被紧密集成。举个例子,一个开发者可以定义一个类,然后使用另外一种语言从此原初类中派生出另一个类,或是调用原初类的方法。开发人员也可以将某个类的实例传递至另一种语言写成的其他类的某个方法中。这种跨语言的集成之所以成为可行,是因为面向运行时的语言编译器和工具使用了一个由运行库定义的公共类型系统,它们遵从运行库的约束来定义新的类型,或者建立、使用、保持和绑定类型。

我将业务赌注置于 .NET 上

Rick Devenuti
副总裁

首席信息官 (Chief Information Officer)

Microsoft 公司

在任何环境中开发程序,从 notepad.exe 到高级集成式开发环境 (IDE) 如 Visual Studio .NET,都可以使用公共语言运行库。

技术要求

要运行任何 .NET 代码,都必须将公共语言运行库安装到服务器上 - 在运行 Windows 窗体应用程序的情形下是客户机。在本文创作之时,公共语言运行库是作为 .NET 框架软件开发工具包 (SDK) 的一部分安装的,将来会包含在 Microsoft Server System 中。

返回页首返回页首

.NET Framework 类

.NET 框架包括了大量类,接口,以及值类型,使开发过程得以加速和优化,同时提供了系统功能的访问途径。为了实现跨语言操作性,.NET 框架类型遵从公共语言规范 (CLS) ,因此可以使用任何有编译器支持的语言。这就允许企业的 IT 部门在保留现有开发人员基础上得以拓展,迅速开始 .NET 应用程序的开发,或利用完全的互操作性对现有应用程序用 .NET 特性加以改进。通过跨语言的继承,代码的复用性提高了,也就减少了投向市场所需的时间。

.NET 框架类型是连接 .NET 的应用程序,组件与控件的基础。.NET 框架包含了完成如下功能的类型:

代表基本数据类型及异常

封装数据结构

完成输入/输出

访问加载类型的信息

调用 .NET 框架安全性检查

提供数据存取访问

实现胖客户端图形用户界面 (GUI) 以及服务器端控制的客户端 GUI Enable rich client-side Graphical User Interface (GUI) and server-controlled, client-side GUI

.NET 框架提供了丰富的接口集合,以及抽象与具像 (非抽象) 类。开发人员可以原封不动使用具像类,或者在许多情况下,派生出自定义的类。要使用接口的功能,开发人员既可以创建一个实现接口的类,也可以从某个实现该接口的 .NET 框架类中派生出类。

优点

更快的市场反应。曾经难于实现,或是需要第三方组件支持的应用程序特性,如今使用 .NET 框架后,可以通过少量代码得以实现。.NET 框架提供超过 4500 个类,封装了全功能的特性例如 XML,数据访问,文件上传,正则表达式,图像生成,性能监测与记录,事务处理,消息队列,SMTP 发信等,不一而足。

举例来说,Release Service Manager (RSM) 2.0,一种内部应用的业务应用程序,为 Microsoft 提供了对产品和发布数据的实时访问,支持用电子方式向制造商及合作伙伴提交产品信息。RSM 2.0 的设计是基于一种 n 层体系结构,其中中间层含有几个 Web 服务,使用中间层框架类实现与数据库通讯。通过构建 Windows 窗体智能客户端应用程序,用比修改以前版本 RSM 的 Web 界面还少的代价就完成了 RSM 2.0 的非常复杂的用户界面。好几个 .NET 框架类用来实现客户计算机上的文件操作。后台处理与多线程特性令程序对计算机性能的影响减少到最小。

技术要求

.NET 公共语言运行库必须安装在运行 .NET 应用程序的客户机或服务器上。框架库与公共语言运行库是用一个大约 21MB 的安装包发布的。在本文创作之时,该包可以从 .NET 框架 SDK 中安装。

返回页首返回页首

ASP.NET

ASP.NET 是一个革命性的编程框架,使快速开发强大的 Web 应用程序和服务成为可行。它提供了最方便、最灵活的途径来构建,部署和运行 Web 应用程序,面向任何浏览器或设备。

优点

ASP.NET 的主要优点如下:

简单的编程模型。ASP.NET 让构建实用 Web 应用程序前所未有的简单。ASP.NET 服务器端控件实现了一种类似 HTML 风格的声明式编程,让开发人员用比以前用 Active Server Pages (ASP) 少得多的代码的创建高效的网页。显示数据,验证用户输入,上传文件都变成了简单的操作。ASP.NET 网页可以工作在所有浏览器中,包括 Netscape,Opera,AOL,以及 Microsoft Internet Explorer。

灵活的语言选择。ASP.NET 让开发人员充分利用他们现有的企业开发语言技能。不像经典的 ASP 那样只支持解释型的 Microsoft Visual Basic Scripting Edition (VBScript) 和 JScript,ASP.NET 现在支持超过 25 种基于 .NET 的语言 — 包含内建支持的 Visual Basic .NET,C#,和 JScript .NET,给开发者提供选择语言的灵活度。

增强的开发环境。开发人员使用任何文本编辑器,甚至是“记事本”,都可充分使用 ASP.NET 的全部功能。然而,Visual Studio .NET 将 Visual Basic 风格的开发能力增加到 Web 领域。现在,开发人员可以可视化设计 ASP.NET Web 窗体,使用熟悉的拖放与双击技巧。开发人员也可以同样享用全部的编码支持,包括语句完成与彩色代码。Visual Studio .NET 同样提供调试与部署 ASP.NET Web 应用程序的集成支持。

改善的性能。代码与内容分离的特性使得 ASP.NET 网页被动态编译至托管的类以获得高性能。每个传入的 HTTP 请求都被提交至一个新的页面实例,因此开发人员不需要在代码中关心线程安全问题。

简单快速的部署。ASP.NET 使用基于程序集的 Microsoft .NET 框架部署模型,也因此而由 xcopy 部署、程序集相邻部署,以及基于 XML 的设置特性获益。ASP.NET 同样支持通过完全编译的应用程序部署。这样做的优点是 Web 服务器管理员不能看到任何源代码,这在应用程序为其他公司所运行的情况下是非常重要的。ASP.NET 还有极端简化的部署模型 — 要部署一个应用程序,只需要将组成应用程序的所有文件复制到相应的文件夹中就可以了。不需要注册对象,也不需要重新启动应用程序。ASP.NET 应用程序的所有部分都可以用这种方式部署,包括网页,Web 服务,编译后的组件(包括内含 DLL),甚至是配置数据。

举例来说,Microsoft 的信息技术组 (ITG) 开发人员使用 ASP.NET 为 MS Contract 构建用户界面,这是一个管理和协调实施 Microsoft 合同复杂过程的应用程序。通过使用 ASP.NET,MS Contract 开发人员得以写出整洁条理的代码。因为新版本的的代码按季度发布,而 ITG 通常将开发人员在不同项目中对调,整洁的开发代码实现了高效性与可维护性。对于如同在回传页面后显示一个列表框那样的任务,开发人员几乎没花编码上的代价,就让 MS Contract 数据库命中减少了 30%。

企业版本的 Visual Studio .NET 实现了快速 Web 应用程序的开发特性来帮助单位规划、分析、设计、构建、测试,以及协调开发 ASP.NET Web 应用程序的团队。这些特性包括使用统一建模语言 (Unified Modeling Language, UML) 对类的模型化,数据库建模(概念的,逻辑的以及物理的模型),测试工具(功能的,性能的,以及伸缩性的),企业框架与模板。所有这些都已集成于 Visual Studio .NET 环境中。

ASP.NET 让传统 ASP 应用程序编程的概念更上一层楼。一个网站,或一个站点内的 Web 应用程序,可以兼有 ASP.NET 页面和 ASP 页面。因为 ASP 和 ASP.NET 页面可以从同一个 Web 服务器访问,所以并不需要将现有的 ASP 页面导入 ASP.NET 兼容的页面中。当然,Microsoft 测试显示,ASP.NET 应用程序每秒可以处理的请求是经典 ASP 应用程序的二至三倍。

ASP.NET 中的新特性,如服务器端控件和事件处理,帮助开发人员开发应用程序速度更快,编码更少。将代码与 HTML 内容分离也变得前所未有的简单。

技术要求

ASP.NET 模型假设了一个无状态的服务体系结构。无状态体系结构比全状态体系结构具有更大的伸缩性。Web 服务可以使用 ASP.NET 状态管理服务,如果需要在请求中维持状态的话。基于 ASP.NET 的 Web 服务是为公共语言运行库执行的托管应用程序,因此可以利用前述公共语言运行库和 .NET 框架的全部特性。作为选择,你也可以通过公共语言运行库运行 .NET 托管代码,而完全不用 ASP.NET。

返回页首返回页首

C# (C Sharp)

C#(发音为 C sharp)是一种简单、现代化、面向对象、类型安全的开发语言,使程序员快速容易的为 Windows Server System 集成软件产品构建解决方案。

优点

代码复用。用 C# 设计的组件可以很容易的转换成 Web 服务,可以以任意操作系统的任意语言从 Internet 上调用。

增强的性能。垃圾收集 (GC) 技术。不需要手工的内存管理。

增强的可靠性。 变量都已自动初始化为类型安全的。

改进的开发效率。版本控制与伸缩性支持。

更快的市场反应。在业务流程与部署应用程序之间实现更好的映射。开发人员可以定义特定域的属性,并将它们应用于任何语言元素如类,接口等。定义之后,每个元素的属性都可以被编程访问。

广泛的交互操作性。对 COM 和 Windows-API 的天生支持。

C# 是非常成功的基于 Web 的 Consensus 3.0a 程序的关键部分,旨在允许 Microsoft 用户或小组不费力的创建,分布及管理电子调查,以获得有价值的反馈。开发此应用程序的团队使用 .NET 框架和 C# 语言创建了多线程的邮件服务。使用 C# 可以在不丢失面向对象特性的基础上降低开发与测试时间。对这个项目来说,C# 语言看起来是最合适做应用程序设计的了;实际上,因为有了来自 .NET 框架对核心编程任务的支持,这个团队发现使用 C# 比使用 Visual Basic 更容易。

技术要求

作为开发要求,C# 需要公共语言运行库,以及 .NET 框架类库。

返回页首返回页首

VisualBasic .NET (VB.NET)

Visual Basic .NET 是下一代的 Visual Basic,致力于开发分布式应用程序,如 Web 或企业的 n 层系统

优点与技术要求

增强的面向对象支持,如继承

结构化的异常处理

新的线程选择

垃圾收集 (Garbage collection)

创建 Web 窗体与与创建 Windows 窗体同样容易

快速创建 Web 服务

新版本的 ActiveX Data Objects (ADO) 实现非连接数据源的访问存取

支持跨语言继承(Visual Basic 开发的类可以自其他语言写的类继承而来)

Visual Basic .NET 与其他 Visual Studio .NET 语言完全集成

使用 Web 窗体与 Microsoft ADO.NET 快速开发可伸缩的网站

简单的应用程序部署过程,通过目录对目录的拷贝执行文件和组件实现

用统一的调试器调试多语言应用程序

Visual Basic .NET 的调试优点在 Consensus 3.0 的开发过程中显现无疑。在这个项目中,.NET 框架的非封装性调试显著的减少了几乎 50% 的调试时间,以至于 Consensus 的开发人员不再愿意使用旧的调试环境。

技术要求

作为开发要求,Visual Basic .NET 需要公共语言运行库,以及 .NET 框架类库和 Visual Studio .NET IDE。

Microsoft Visual Basic 6.0 版本的应用程序可以通过 Visual Basic .NET 中的升级向导和命令行工具升级至 Visual Basic .NET。

返回页首返回页首

JScript .NET

JScript .NET — 下一代的 JScript 语言,是一种面向对象的脚本语言,用来为 ASP.NET Web 应用程序开发客户端与服务器端的脚本。

优点与技术要求

性能的改善 — 这是一种纯粹的编译语言。

JScript .NET 的类型由显式类型声明及隐式类型关联引入(有类型的和无类型的变量)。

对基于类的对象的全面支持(继承,函数重载,属性访问器,等)。

跨语言支持与对 .NET 框架的访问存取。

技术要求

作为开发要求,JScript .NET 需要公共语言运行库,以及 .NET 框架类库。

返回页首返回页首

Web 服务

一个 XML Web 服务是一个包装成单个实体的系列函数集,并发布出来为其他应用程序提供数据和服务。应用程序通过行业标准的万维网协议与数据格式,如 HTTP,XML,以及简单对象访问协议 (Simple Object Access Protocol, SOAP) 来访问 Web 服务,且不需要关心 Web 服务的具体实现方法。Web 服务是建立开放分布式系统的基石。

优点

Web 服务提供了如下优点:

互操作性。 任一 Web 服务可以与其他 Web 服务通过 SOAP 而实现交互。

普及性。Web 服务使用 HTTP 和 XML 进行通信。因此,任何支持这些技术的设备都可以发布或访问 Web 服务。

相对较低的进入壁垒。 Web 服务蕴含的概念十分容易理解,同时免费的工具包让开发人员能够快速创建和部署 Web 服务。此外,一部分工具包还允许现有组件轻松的表达为 Web 服务。

行业支持。 大多数主流软件公司都支援 SOAP 以及相关的 Web 服务技术。例如,Windows Server System 就是基于 Web 服务的,因此可以十分方便的将 Visual Basic 写成的组件部署为 Web 服务,同时被 IBM VisualAge 写成的 Web 服务所调用。

图 2 说明了如何链接 Web 服务来创建分布式应用程序。

Figure 2: Web Services Application Model

图 2:Web Services 应用程序模型
查看完整的图像。

一个使用 Web 服务的应用程序例子是 Account Explorer,这是一个基于 Web 的程序,为 Microsoft 雇员提供一个单一用户界面,使他们可以浏览储存于许多不同数据库中的自定义数据。用户可以通过 Web 服务访问 SQL Server 2000 数据库服务器。为了满足安全需要,Web 服务同样提供了对用户证书的验证。Account Explorer 的设计策略允许开发团队使用熟悉的行业标准,如简单对象访问协议 (Simple Object Access Protocol, SOAP) 和 XML,以继承他们的全部优点与 Web 服务相联。

Microsoft 发现了 Web 服务另一有价值的用途:改进 Microsoft 主网站的搜索功能。一个包含有关 Microsoft 的常见问题解答的 Web 服务现在已经集成入“搜索”结果(在“最适匹配”表单),以及通常情况下输入浏览器会产生 HTTP 404 错误的 URL(在智能 404 表单)中。因为“搜索”现在是一个 Web 服务而不再仅具单一功能,它可以在任意平台上用任意语言调用与部署,无论是在 Microsoft.com 内,还是在 Internet 上的任何一处。

返回页首返回页首

.NET 远程处理

通信是跨网络或跨应用程序域对象的关键因素,这些对象又被称作远程对象。.NET 远程处理提供了一种强力高效的机制,允许对象之间跨越应用程序域实现交互。

存在于 .NET 应用程序及应用程序域之间的通信,通过负责在远程对象之间传送消息的通道而产生。一条消息被通道传送前,会首先被格式化程序格式化(编码或解码)。

.NET 框架支持 HTTP 和 传输控制协议 (TCP) 通道,以及 SOAP 和二进制的格式化程序。HTTP 通道使用 SOAP 格式化程序来传送消息,而 TCP 通道使用二进制格式化程序。这两种通道都可以自定义使用其他的格式化程序。第三方提供的通道同样是可行的。

HTTP 通道使用 SOAP 格式化程序来传送消息,而 TCP 通道使用二进制格式化程序。这两种通道都可以自定义使用其他的格式化程序。第三方提供的通道同样是可行的。

优点

.NET 远程处理的优点包括以下方面:

很容易与网络或 Internet 结合使用

透明的对象交互过程,藉由简单的编程模型与运行库支持

客户端可以与远程对象通过任意已注册的通道通信(通道必须先于对象注册)

返回页首返回页首

Windows 窗体

Windows 窗体拓展了传统的完全桌面化的 Windows 应用程序,同时,Visual Studio 带来的开发体验将我们带入托管代码与公共语言运行库的世界。

优点

简单的部署。 Windows 窗体应用程序可以由传统的 setup.exe/msi 文件来安装,也可以通过 HTTP 由浏览器而动态分发,如同分发 ActiveX 控件那样,但仅当需要使用时才下载。与传统的单一 ActiveX 组件部署过程相比,此特性显著的简化了企业的部署过程。

改进的安全性。 Windows 窗体在公共语言运行库下运行,会强制应用程序执行代码访问的安全性策略。

对 Microsoft 内部的 Release Services Manager 应用程序来说,开发人员使用 Windows 窗体创建了一个强有力的智能客户端版本 (2.0),与基于 Web 的应用程序有着同样的伸缩性与可用性。在以前版本的 RSM 中,用户需要为每个文件点击三次,浏览三屏信息。使用 Windows 窗体后,用户只需点击两次就可以处理完一个组件中的所有文档,而不必浏览多屏信息。此外,由于 Windows 窗体提供的灵活性,整个应用程序并不包含在单一的可执行文件中,而是在几个 DLL 中,按需从 Web 服务器下载。这有助于在不必修改或重新编译现有应用程序的情况下添加新的显示与新的功能。

技术要求

为了在桌面机器上运行 Windows 窗体应用程序,必须在宿主计算机上安装 .NET 框架。

使用 Windows 窗体需要公共语言运行库,.NET 框架类库,为了简化开发过程,也需要安装 Visual Studio .NET IDE。

运行 Windows 窗体应用程序需要在客户端计算机上安装 .NET 公共语言运行库,无论该程序是通过传统的 setup.exe 安装的,还是从 Web 浏览器流式下载的。

返回页首返回页首

Visual Studio .NET

要创建在 .NET 公共语言运行库和 .NET 框架类中运行托管代码的 .NET 应用程序,Visual Studio .NET 是首选的集成开发环境 (IDE)。它延续了 Visual Studio 的传统,允许开发人员编译以前的非托管 C++ 或 C# 应用程序。

优点

Visual Studio .NET 让快速开发应用程序 (RAD) 通过高效开发工具得以实现。一个紧密集成且统一的可视环境简化了开发 Web 应用程序的过程,降低了学习曲线。共享的超文本标记语言 (HTML),XML,以及样式表编辑器令使用任何 Visual Studio 语言开发 Web 应用程序变得十分容易,包括使用新的 C# 编程语言。

Visual Studio .NET 提供的结构完善且易用的编程模型是 Microsoft 出版社更新其 Microsoft Press Connections 网站的理想选择。开发团队发现,较之于其前辈语言,C# 有着更好的封装性与可维护性;该团队因此可以非常容易的创建项目中重要的动态页面。该团队同样能用 C# 写出多个批量运行的控制台应用程序。Visual Studio .NET 提供了简单化开发与调试批量数据的更新功能所必需的框架环境。

同样的,内部开发的 MS Contract 顾客反馈应用程序在 2.0 版本时移植到了 Visual Studio .NET 中。在迁移到 Visual Studio .NET 后,开发团队可以在 Visual Studio .NET 中做所有与数据库无关的开发,代替了以前混合使用 Microsoft Visual InterDev,Visual Basic,Microsoft Visual C++ 的开发过程。在单一环境中编译 MS Contracts 2.0 节省了开发人员在不同层次代码及不同工具中切换思维所花费的时间。

Consensus 开发团队则非常热衷于他们对 Visual Studio .NET 的第一手体验,如 LeadByte 首席技术官 (CTO) 所说:这不仅仅是凭直觉展示的 IDE,也不仅仅是一个强大的调试器或自动产生的 SOAP 内部类型,而是整个开发过程得以集成化,协助开发者写程序,基于能提供杰出生产效率的 .NET 框架。在这个项目的过程中,除了共享与托管代码,开发人员本身在开发公共组件时也变得效率更高。

Visual Studio .NET 允许开发人员快速构建新的托管代码的应用程序,面向 .NET 框架丰富的功能与类库。Visual Studio .NET 同样允许开发人员采用优化过的编译器出品传统的非托管代码的 C++ 应用程序,如 Microsoft Word 或 Microsoft Excel。

明确些说,开发人员可以用 Visual Studio .NET 做下面这些:

快速设计无所不及的 Web 应用程序。利用 Web 窗体,开发人员可以创建跨平台,跨浏览器的可编程 Web 应用程序,通过使用与以前构建基于窗体的桌面程序几乎相同的技能。Web 窗体在 Web 服务器端执行,提供快速的运行时性能,产生 HTML 3.2 兼容的文档,可以运行在任何浏览器中。

方便的使用 Web 服务来简化分布式计算。有了 Web 服务,开发人员就可以使用标准的 Internet 协议跨越电缆调用业务逻辑。Web 服务使用超文本传输协议 (HTTP) 作为基本的传输途径,允许功能请求穿过公司防火墙。XML 被用于格式化请求的输入输出参数,因此该请求不依赖任何特别的组件技术或对象调用约定。其结果是,Web 服务可以被任意语言访问,被任意组件模型使用,运行于任意操作系统中。

快速构建中间层业务组件。Visual Studio 的一个主要目的就是为基于服务器的开发提供 RAD 工具。Visual Studio .NET 为创建中间层业务逻辑带来的效率提升,如同 Visual Basic 为基于窗体的应用程序开发带来的改变一样显著。

构建可伸缩的,有效的解决方案。Visual Studio .NET 令依据默认生成可靠的应用程序和组件变得更加容易。例如,当一个开发者使用 Microsoft Visual C++ 构建 Web 应用程序时,新的活动模板库 (Active Template Library, ATL) 服务器可以提供显著的性能提升。

返回页首返回页首

Windows Server System

Windows Server System 是 Microsoft 启用 XML 的一系列企业产品:Microsoft SQL Server 2000, Microsoft Exchange 2000, Microsoft BizTalk Server 2000, Microsoft Application Center 2000, Microsoft Commerce Server, Microsoft Content Management Server, Microsoft Host Integration Server 2000, Microsoft Internet Security and Authorization Server, Microsoft Mobile Information 2001 Server, Microsoft SharePoint, 以及 Windows Server 2003 家族。

优点

这些产品实现了以 XML 方便访问数据与功能的特性。这就使得将其与 .NET 框架集成变得更加方便,由于 XML 简化了分布式 .NET 程序中大部分的数据处理与访问问题。

TWindows Server System 集成式服务器软件的优点在 Microsoft 的 eSupport 倡导中显现无疑。该倡导提供了一个基本框架,旨在鼓励顾客通过 Internet 使用低成本且迅速有效的方法来联系取得 Microsoft Support 服务。对 XML 的利用为顾客与 Micrsoft Support 服务之间,以及 Microsoft 内部支持站点间的信息交换提供了充分的灵活性。有些事务处理过程接受格式化好的 XML 作为输入参数,使用 SQL Server 2000 的 XML 特性以顾及到灵活和可扩展的设计(新的数值可以在不接触或重新编译第二层组件的情况下传递并返回)。

SQL Server 2000 已经凭借 Windows Server System 集成服务器软件的广泛使用而受益匪浅。例如,SQL Server 2000 用作 Microsoft 的内部 Account Explorer 应用程序的数据库服务器。Microsoft 依赖于它基于 SQL Server 2000 的分布式数据仓库来有效管理与客户的关系 — 这里面储存着接近 1 Terabyte 的用户相关数据,以及 1500 万条 SQL 事务记录。

返回页首返回页首

结论:托管的代码与数据

为了指定公共语言运行库的服务,托管的代码至少需要向运行库提供最小量的信息(元数据)。所有的 C#,Visual Basic .NET,以及 JScript .NET 代码都是默认托管的。 Visual Studio .NET C++ 代码默认情况下是非托管的,但可以通过指定一个命令行开关 (/CLR) 让编译器生成托管的代码。

与托管代码紧密相关的是托管数据,通过公共语言运行库的垃圾收集器分配与回收。C#,Visual Basic,JScript .NET 数据默认情况下是托管的。然而,C# 数据可以通过特殊关键词标记为非托管的。Visual Studio .NET C++ 数据在默认情况下是非托管的(即便使用了 /CLR 开关),但可以在 Managed Extensions for C++ 中使用 __gc 关键词将某个类标记为托管的。如关键词的名字所提示,该类的实例使用的内存委托给垃圾收集器管理。此外,该类还会成为 .NET 框架社群的共享成员,分享此种成员拥有的优势和限制。优势的例子如与其他语言写成的类的互操作性(如一个托管的 C++ 类可以继承于某个 Visual Basic 类)。限制的例子如一个托管类只能继承于一个基类。

为 .NET 框架编写的应用程序与控件都需要 .NET 框架安装在程序或控件运行的计算机上。.NET 框架的 1.0 版本提供了一个可再次分发的安装程序,包含了公共语言运行库以及运行.NET 框架应用程序必需的 .NET 框架组件。可再分发的 .NET 框架由单个执行文件提供,名为 Dotnetfx.exe。您可以手工在计算机上运行安装 Dotnetfx.exe,或者作为一个 .NET 框架应用程序安装的一部分运行安装。

部署 .NET 框架应用程序的公司会发现一次性部署 .NET 框架比将其包含在每个需要的应用程序中更加方便,最主要因为安装 Dotnetfx.exe 需要管理员权限。可以用不同的电子分发工具跨越安全的网络来部署 Dotnetfx.exe 以及当需要时部署 MDAC 2.6 或更高版本。

Systems Management Server (SMS) 让您用管理员身份在网络中部署软件。有关使用 SMS 在网络中部署 Dotnetfx.exe 的 Windows Installer 安装包的描述信息存在于《.NET 框架部署指南》中,包含了一份白皮书,为 Visual Studio .NET 用户描述了特定的部署情境。部署 Dotnetfx.exe 的不同情境包括了使用电子软件分发工具,手工从网络共享、内部网络或 Microsoft 网站的下载点安装,以及使用 Setup.exe Bootstrapper 示范来建立包含 Dotnetfx.exe 和 .NET 框架应用程序的安装项目。

原创粉丝点击