ASP.NET3.5――第一章ASP.NET介绍

第一章  ASP.NET 介绍
当微软创建 .NET ,它不仅仅梦想未来――它还担忧当代 web 开发技术的困惑和限制。在你开始 ASP.NET3.5 以前,本书帮你回顾这些问题,你将明白 .NET 提供的解决方案。
         本章你将通过 web 开发的历史开始认识 ASP.NET ,做一次旋风般的 .NET 重要特性之旅,并且预览 ASP.NET3.5 的核心变化。如果你是第一次接触 ASP.NET ,本章将使你加快速度。相反,如果你已有 .NET 开发经验,那么你有两个选择。首先你可以快速阅读本文。否则,你可以跳到“ ASP.NET3.5 :传说在延续”去预览 ASP.NET3.5
 
ASP.NET 3.5: 传说在延续
当微软发布 ASP.NET 1.0 时,甚至没有期望这项技术被多门狂热的采用。 ASP.NET 很快变成用微软技术开发 web 应用的标准,沉重打击了其他 web 开发平台的竞争者。从那时起, ASP.NET 有了一个修正版( ASP.NET1.1 )和两个更重要的版本( ASP.NET2.0 ASP.NET3.5
 
ASP.NET3.5
第一次面对 ASP.NET3.5 的开发人员不免要问其与 ASP.NET3.0 的不同。说来也怪, ASP.NET3.0 是不存在的。微软使用 .NET Framework 3.0 来发布新技术――最特别的, WPF Windows Communication Foundation ),一种用来创建面向消息服务的技术, WF Windows Workflow Foundation ),一种允许你将复杂业务处理模拟成一系列动作的技术。然而, .NET Framework 3.0 不包括新版本的 CLR ASP.NET 。相反,下一版的 ASP.NET 被集成到 .NET Framework 3.5 中。
 
LINQ
LINQ Language Integrated Query )是一套 C# VB 语言的扩展。它使你用 C# VB 操纵内存数据,几乎和操作数据库一样。
         从技术上讲, LINQ 定义了大约 40 个查询操作符,比如 select from in where orderby 等。这些操作符能使你编码查询。然而,数据有很多类别,对不同类型数据的查询有各自的 LINQ 形式。
         最基本的 LINQ 形式是 LINQ to Objects :可以用来从对象集合执行查询得到某些对象的细节。 LINQ to Objects 不是 ASP.NET 特有的。换句话说,你可以像在其他类型 .NET 应用一样在 web 页面中使用它。
         接下来是 LINQ to DataSet LINQ to XML 。前者它提供类似于访问内存中 DataSet 对象,后者操作 XML 数据。第三方开发人员和工具开发商肯定开发了更多 LINQ 供应器。不过, LINQ 的形式最关注 LINQ to SQL ,使你用 LINQ 语句对 SQL Server 数据库执行查询。本质上, LINQ to SQL 基于你的代码创建一个完全参数化 SQL 查询,在你访问查询结果时执行这些查询。你不需要写任何数据访问代码或使用传统的 ADO.NET 对象。
         LINQ to Objects LINQ to DataSet LINQ to XML ASP.NET 的补充特性,不与其以任何方式集成。不过, ASP.NET 支持 LINQ to SQL ――一个数据源控件,可以通过 LINQ to SQL 执行查询,且将结果绑定到 web 控件,不需要额外代码。你可以在第 13 章学习到 LINQ to Objects LINQ to DataSet LINQ to SQL ,在第 14 章学习 LINQ to XML
 
ASP.NET AJAX
最近, web 开发人员重新重视 web 应用的一些弱点。最明显的是在服务器端编程平台下响应缺乏的问题,比如 ASP.NET 。因为 ASP.NET 所有的工作都在 web 服务器上,每次页面动作发生,浏览器需要提交数据到服务器,得到新版页面,并且刷新显示。这个过程再快也会有明显的闪烁。并且这样这比较浪费时间,导致其不适合在频发事件中使用,比如鼠标移动和键盘敲击。
         web 开发人员力图使用 JavaScript ,一种广泛应用的客户端脚本语言,来解决这些问题。在 ASP.NET 中,许多强大控件使用到了 JavaScript ,比如 Menu 控件,当用户移动鼠标到副标题时立刻能响应。当你使用 Menu 控件,你的页面不回传到服务器除非用户点击某一条目。
         在传统 ASP.NET 页面,开发人员使用服务器控件比如 Menu 得到客户端脚本的好处。不过,计时高级控件,回发是不可避免的。比如,如果你需要更新页面的部分信息,在普通 ASP.NET 中唯一的方式就是发送页面到服务器得到全新的 HTML 文档。这个方法可行但是不尽如人意。
         进取的 web 开发人员迎接挑战,应用更多的客户端代码和更高级的方式。其中最脍炙人口就是 Ajax Asynchronous JavaScript and XML )。 Ajax 是一种客户端技术编程捷径,用来请求服务器,在无需完全回发的条件下更新内容。一般来说, Ajax 页使用客户端脚本代码在幕后发起异步请求。服务器接收请求,运行相关代码,返回页面所需数据(通常是 XML 标记块)。最后,客户端代码接收新数据,然后执行其他动作,比如刷新页面某部分。尽管 Ajax 概念上非常简单,但是它能让你的页面运行起来更流畅、更连续。以下通过图示说明普通页面方式和 Ajax 方式的不同。
Ajax 和类似的客户端脚本技术并不新颖,但近年来它们在 web 开发中开始发挥越来越重要的作用。原因之一是 XMLHttpRequest 对象――支持异步客户请求的对象――在当前浏览器中被广泛支持,比如:
l  Internet Explorer 5 或更高版本
l  Netscape 7 或更高版本
l  Opera 7.6 或更高版本
l  Safari1.2 或更高版本
l  Firefox1.0 或更高版本
不过,用这种方式写客户端脚本确实比较巧妙。你将在第 31 章学习到 ASP.NET 回调来做这些事情。不过, ASP.NET 也包括一些更强大组成部分叫做 ASP.NET AJAX ,用来扩展 ASP.NET 的应用。
 
绿点和红点
很奇怪, ASP.NET3.5 并不是完全新版 ASP.NET 。相反, ASP.NET3.5 是基于 .NET2.0 上添加一些特性来设计的。再 .NET3.5 中不变的部分通常叫做红点,变的部分叫做绿点。
         红点包括 CLR ASP.NET 引擎和所有 .NET2.0 类库。换句话说,如果你创建新的 ASP.NET3.5 应用,运行环境和 ASP.NET2.0 一样。另外,你在 .NET2.0 中的使用的所有类――包括连接数据库、读写文件、 web 控件等等――在 .NET3.5 继续保留。红点也包括 .NET3.0 的特性,比如 WCF
         所有 .NET3.5 中的程序集保留它们原始版本号。即 .NET3.5 包括 2.0,3.0 3.5 的混合版。
         ASP.NET3.5 绿点包括一部分新类型。对于 ASP.NET 开发人员,重要的新程序集包括:
l  System.Core.dll :包括 LINQ 核心功能
l  System.Data.Linq.dll :包括 LINQ to SQL 的实现
l  System.Data.DataSetExtensions.dll :包括 LINQ to DataSet 的实现
l  System.Xml.Linq.dll :包括 LINQ to XML 的实现
l  System.Web.Extensions.dll :包括 ASP.NET AJAX 和新 web 控件的实现。
 
创建 ASP.NET3.5 应用,你可以使用 C#3.0 语言编译器。它包括支持一些新特性,大多数需要 LINQ 支持。下图展示了 ASP.NET3.5 类和组件
理解 ASP.NET3.5 的多层架构非常重要,因为你仍然能看到某些旧版本的痕迹。比如, ASP.NET 将临时文件和 web 服务器配置文件放到 c:\Windows\Microsoft.NET\Framework\v2.0.50727 。因为 ASP.NET3.5 使用 ASP.NET2.0 引擎,而 ASP.NET2.0 最终版就是 v2.0.50727
Silverlight
最近,有许多 Silverlight 新动向。这是一项微软新技术,允许各种操作系统上的各种浏览器运行真正的 .NET 代码。 Silverlight 通过一个浏览器插件运行,提供 .NET   Framework 类库的一个子集,包括 WPF 的简化版( WPF 用来开发下一代 windows 用户界面)。
         那么, Silverlight 如何适应 ASP.NET 世界的? Silverlight 是全部面向客户端代码的,可以用来创建丰富页面,而不仅仅是 HTML DHTML JavaScript 。从某种意义上讲, Silverlight 模仿了 Adobe Flash 的特性和目标。通过在 web 页面中使用 Silverlight ,可以画出强大的 2D 图形、演示场景或播放视频和其他媒体文件。
         Silverlight 特别适合创建小脚本,就像浏览器游戏一样。(略)
         从很多方面上说, Silverlight ASP.NET 的补充技术。 ASP.NET3.5 不包括基于 Silverlight 的任何特性,但是未来的 ASP.NET 版本会做到。比如,未来的 ASP.NET 版本可能包括服务器控件用来发送 Silverlight 内容。(略)
 
翻译是个苦活啊,未完待续……

你可能感兴趣的:(.net,开发,职场,asp,休闲)