一组符合所有基础
通信标准(如 SOAP、WSDL 和 XML)的类。使用 这些类使您能够将注意力集中在服务的逻辑上, 而无需关注分布式软件开 发所需要的通信基础结构。 最后,与托管环境中的 Web 窗体页相似,您的 XML Web Services 将使
用 IIS 的可伸缩通信以本机语言的速度运行。 公共语言运行库 .NET Framework 的核心是其运行库的执行环境,称为公共语言运行库 (CLR)或.NET 运行库。通常将在 CLR 的控制下运行的代码称为托管代码 (managed code)。 但是,在 CLR 执行开发的
源代码之前,需要编译它们(在 C#中或其它语 言中)。在.NET 中,编译分为两个阶段: (1) 把源代码编译为 Microsoft 中间语言(IL)。 (2) CLR 把 IL 编译为平台专用的代码。 这个两阶段的编译过程非常重要,因为 Microsoft 中间语言(托管代码)是 提供.NET 的许多优点的关键。 托管代码的优点 Microsoft 中间语言与 Java 字节代码共享一种理念:它们都是一种低级语 言,语法很简单(使用数字代码,而不是文本代码),可以非常快速地转换 为内部机器码。对于代码来说,这种精心
设计的通用语法,有很重要的优 点。 1. 平台无关性 首先,这意味着包含字节代码指令的同一文件可以放在任一平台中,运行 时编译过程的最后阶段可以很容易完成, 这样代码就可以运行在该特定的 平台上。换言之,编译为中间语言就可以获得.NET 平台无关性,这与编 译为 Java 字节代码就会得到 Java 平台无关性是一样的。 注意.NET 的平台无关性目前只是一种可能,因为在编写本书时,.NET 只 能用于 Windows 平台,但人们正在积极准备,使它可以用于其它平台(参 见 Mono 项 目 , 它 用 于 创 建 .NET 的 开 放 源 代 码 的 实 现 , 参 见 go-mono/)。 2. 提高性能 前面把 IL 和 Java 做了比较,实际上,IL 比
Java 字节代码的作用还要大。 IL 总是实时编译的(称为 JIT 编译), Java 字节代码常常是解释性的,
而 Java 的一个缺点是,在运行应用程序时,把 Java 字节代码转换为内部可执行 代码的过程会导致性能的损失(但在最近,Java 在某些平台上能进行 JIT 编译)。 JIT 编译器并不是把整个应用程序一次编译完(这样会有很长的启动时 间),而是只编译它调用的那部分代码(这是其名称由来)。代码编译过一次
后,得到的内部可执行代码就存储起来,直到退出该应用程序为止,这样 在下次运行这部分代码时,就不需要重新编译了。Microsoft 认为