1、 外文原文翻译: ASP.NET C#版 ASP(动态服务器主页 )是一种较新的技术 ,它已经过几个阶段的发展 (进化 ).它是怎么诞生的呢 ?在七年 前 ,它作为一种简单的方法来往普通网页里添加动态内容。自从那时以后,它的发展势头强劲:作为高级网页程序的开发平台,包括:电子商务网站、基于事件驱动的门户网站和你在网上能看到的其他所有东西。 ASP.NET 2.0 是 ASP 的最新版本 ,而且拥有最让人激动的更新。在 ASP.NET 帮助下,在网络编程时,开发者不再把一大堆 HTML 源码和脚本代码杂乱地放在同一页面上。你可以完全使用 代码和工具( Visual Studio 2005)来创建
2、网页程序。这些创新的代价仅仅是多学一些东西。你要学一些高级开发工具( Visual Studio)和工具包( the .NET Framework),而且你需要精通一门编程语言,如 C。网络发展的演化因特网是在 1960 年末在试验中诞生的。它的目标是:建立一个真实的、有弹性的信息网络 可以经受的起若干数量的电脑的崩溃,而不至于阻断其他电脑的正常通信。经得起潜在的重大灾难(如核武器攻击)。美国国防部提供了刚开始的研究基金。最早的因特网局限在教育机构和从事国防 的单位。它因为作为学术研究的一种工具而繁荣,它让全球的研究人员可以彼此共享信息。到了 1990 初,伟大的 “ 猫 ” 诞生了,它通过电
3、话线工作,从此,因特网向商业用户打开了大门。在 1993 年,第一个 HTML 浏览器诞生了,标志着因特网革命的到来。我们很难把最早的网页称为网页序。第一代的网页看起来更像小册子:主要由固定的 HTML 页面构成,这些也都需要手动修改。 一个简单的 HTML 页面有点像一个字处理文档 它包含了格式化的内容,可以在你的电脑上显示,但是并不完成其他任何功能。上面的就是一个最简单的例子,文档包括头信息和单 行文本。一个 HTML 文档有两种类型的内容:文本和标记(告诉浏览器如何格式化)。这些标记很容易辨认,因为它们总是出现在 之间。HTML 定义了不同级别的标题、段落、超链接、斜体和粗体格式、水平线
4、等。举个例子: 某个文本 ,告诉浏览器用标题 1 的格式来显示这个文本,就是用最大的黑体字来显示。图 1 1 显示了这个页面在浏览器中的效果。提示:你不需要精通 HTML 就能进行 ASP.NET网页编程,虽然它( HTML)是很有用的。为了快速介绍一下 HTML,给大家介绍一个网上的优秀 HTML 指南。 HTML 2.0 首次引入了一个网页编程的新技术,称为 HTML 表单。 HTML 表单扩展了 HTML 的功能,不仅包含了格式化标签,而且包含了窗体小部件或者叫控件。这些控件包含了普通的功能部件,如下拉列表、文本框和按钮。下面是一个由 HTML 表单控件创建的网页。网页表单允许网页程序设
5、计师设计标准的输入页面。当用户单击图 1 2 的提交按钮,所有在输入控件中的数据(在这个例子中是两个复选框)将打包成一个长字符串,接着发送到服务器。在服务器端,一个客户程序接收和处理这些数据。令人惊奇的是 :这些为 HTML 表单创建有超过十年之久的控件仍然是你用 来创建 ASP.NET 页面的基础。不同的是这些程序控件将运行在服务器端。在过去,当用户单击一个表单页面的按钮时,信息要通过 e-m ail 来发送或者使用在服务器端运行的程序(通过 CGI 标准)。今天,你将可以使用更强大、更优雅的 ASP.NET 平台。理解 ASP.NET 的创建原因可以帮助我们了解其他网页开发技术遇到的问题。
6、在原始的 CGI 标准下,举个例子,网页服务器必须为每个网页请求建立一个单独的程序实例。如果这个网页很受人们欢迎(那访问者将很多),那么网页服务器就要经受得起数以百计的独立程序副本,这样最终导致服务器反而 因为受欢迎而成为受害者。为了解决这个问题,微软开发了 ISAPI(网络服务程序编程接口),一个高层次的编程模型。 ISAPI 解决了性能问题,但是付出了复杂性的代价。即使 ISAPI 开发者是个 C编程老手,他仍然晚上担心到失眠,因为会遇到多线程处理这样让人麻烦的问题。 ISAPI 编程是给那些坚强的 “ 夜猫子 ” ,不是给那些懦弱的人。 ISAPI 并没有真正消失,取代它的是,微软利用它
7、建立了一个更高级的开发平台,如 ASP 和 ASP.NET。这两种技术都可以使开发者编写动态网页,而不需要担心底层的执行细节。由于这个原因,这两个 平台成功到令人难以置信。最初的 ASP平台吸引了将近一百万的开发人员。当 ASP.NET 第一次发布时,作为 .NET Framework 的核心部件受到人们更多关注。事实上, ASP.NET 1.0 已经在数十个大型商业网络中得到应用,虽然它还在最后的测试阶段。虽然拥有类似的基础, ASP 和 ASP.NET 有根本的不同。 ASP 是基于脚本的编程语言,需要全面理解 HTML,而且还要经过一大堆痛苦的编程训练。而 ASP.NET,在另一方面,是
8、面向对象的编程模型,建立网页页面就像建立桌面程序一样容易。在很多方面,学会 ASP.NET 比精通 ASP 要容易,而且 ASP.NET 功能更加强大。同时,服务器端的网络发展为从技术的字母形花片汤到广受欢迎的一类编程开发人员开始试着使用嵌入多媒体、 JavaScript 的小程序、 DHTML 和 Java 代码来增强网页的功能。这些基于客户端的技术不需要通过服务器的处理就能实现。所有的程序都(从服务器)下载到客户端浏览器,在本地执行。客户端技术的最大问题就是它们不被所有的浏览器和操作系统完美的支持。其中的一个原因就是网络开发太受欢迎了,首先是网络程序不需要通过 CD 安 装、下载和其他单调
9、的配置。取而代之的是,一个网 络程序只要能上网的电脑就可以执行了。但是,一旦开发者使用客户端技术,他们就会遇到一些常见的问题:比如跨浏览器的兼容性。开发者就不得不在不同的浏览器和操作系统中测试他们的网页,甚至他们还要给用户发布浏览器更新。换句话说,客户端模型牺牲了网络程序 最重要的优良特性。由于上述原因, ASP.NET 被设计为服务器端技术。所有的 ASP.NET 代码都在服务器上执行。当代码执行完毕时,用户就会得到一个普通的 HTML 页面,这样任何浏览器都可以浏览了。图 1 3 显示了服务器端和客户端模型的不同。这里还有几条原因要避免客户端编程: 孤立性:客户端代码无法访问服务器资源。举个例子,没有一种简单的方式让客户端可以读取一个在服务器上的文件或进行数据库连接。(至少不会遇到安全性和浏览器兼容性的问题)安全性:最终用户可以查看客户端代码。一旦有不怀好意的用户理解了程序是怎么工作的,他们就有可能乱来了。在某些方面,ASP.NET 允许你通过服务器端编程结合最佳的客户端编程。举个例子: ASP.NET 控件可以智能侦测客户端浏览器的属性。如果该浏览器支持 JavaScript,那么这些控件将返回一个含有 JavaScript 的更多功能的页面。尽管如此,不管浏览 器的功能有多强大,你的代码始终