Wrox的C#高级编程第三版第一部分第一章(22~23页)

** 1.4.1.1 ** ** ASP.NET ** ** 的特性 ** ** **

首先,也是最重要的, ASP.NET 页面是结构化的。这就是说,每一个页面都是一个继承自 .NET System.Web.UI.Page 的有效类,而且你可以重写一些方法,这些方法会在整个页面的生存其中调用(你可以认为这些方法就像原来在 ASP 下的 global.asa 里的 OnApplication_Start 和 OnSession_Start 事件差不多)。因为你可以直接将页面的功能直接放在事件处理程序中实现, ASP.NET 页面很容易理解。

ASP.NET 页面的另一个优点是你可以用 Visual Studio .NET 创建它,你也可以用同样的开发环境创建 ASP.NET 页面所用到的商业逻辑和数据访问组件。一个 Visual Studio .NET 项目或者解决方案包含一个应用程序相关联的所有文件。而且,你还可以在这个编辑器里调试你的 ASP 页面,这可比原来的 Visual InterDev 要好得多。配置 InterDev 和工程的 Web 服务器以令他们支持调试是一件令人头痛的事情。

最清楚的是, ASP.NET 的后置代码特性可以使你更进一步的结构化你的方法。 ASP.NET 允许你将服务器端的功能于页面代码隔离开来,单独放到一个类中,这个类会被编译成 DLL 文件,并且这个 DLL 会被放置在 HTML 部分的下级目录中。在页面的顶不会有一个后置代码的指示将文件和它的 DLL 连接起来。当游览器请求一个页面的时候, Web 服务器就会再页面的后置代码所产生的 DLL 文件中引发类中的相应事件。

最后,但是也很重要, ASP.NET 带来的性能增加是显著的。相比较经典的 ASP 页面都是解释性相应每个请求而言, Web 服务器缓存的是经过编译后的 ASP.NET 页面。这意味着以后对于 ASP.NET 页面的请求执行起来就会比以前快得多。

ASP.NET 同样也使编写基于游览器的窗体变得简单,这些窗体你可以在企业内网中使用。传统的基于窗体的应用程序提供一个功能丰富的用户界面(富客户端),但是因为这些用户界面程序运行在不同的机器上,所以很难去维护它们。正因为这个原因,当人们既需要一个功能强大的用户界面又需要为用户提供广泛的支持的时候,人们就会依靠基于窗体的应用程序。

但是,随着 IE5 的到来和 Navigator 6 的没落,基于窗体的应用程序的优点越来越不明显。 IE 5 对 DHTML 一致并且全面的健全的支持,允许程序员创建同原来富客户端环境完全相同的基于 Web 的应用程序。当然,这样的应用程序在 IE 是必要的并且标准的,但是 Navigator 却不支持。在许多工业情况中,标准化现在是正常的。

** 1.4.1.2 ** ** Web Forms **

为了使建立 Web 页面更加容易, Visual Studio .NET 提供了 _ Web Forms _ _ 。 _ 它们允许你用像创建 Visual Basic 6 或者 C++ Builder 窗口的方式图形化的建立 ASP.NET 页面,通过那种拖动一个 toolbox 空间放到窗体中的方式,相应的代码就会出现在窗体中,最后你只需要为每个空间的事件编写程序就可以了。当你用 C# 创建 Web 窗体的时候,你实际上是在创建一个继承自 Page 基类的 C# 类,并且某个 ASP.NET 页面指定此类是其后置代码。当然,你创建 Web 窗体不必非采用 C# ,你也可以使用 Visual Basic .NET 或者其他的 .NET 语言都无妨。

在过去,开发 Web 应用程序的困难使得很多团队都不喜欢开发 Web 应用程序。如果你想要成功开发 Web 应用程序,你就必须掌握很多不同的技术,比如 VBScript, ASP, DHTML, JavaScript 等等。通过将窗体的概念应用于 Web 页面, Web 使得 Web 开发变得相当的简单。

Web 控件

在 Web 窗体使用的控件与 ActiveX 控件不同。它们是 ASP.NET 命名空间中的一些 XML 标签,在请求一个页面时, Web 游览器动态的将其转换为 HTML 和客户端脚本。令人惊奇的是, Web 服务器可以有好几种方法执行服务器端的控件,根据请求着的游览器的不同而做出相应的转化。这就意味着现在为 Web 页面编写通用的用户界面是非常简单的,而不用担心你的页面将会运行在什么样的游览器上,因为 Web 替你考虑这一切。

你可以使用 C# 或者 Visual Basic .NET 来扩充你的 Web 窗体工具箱。建立一个新的服务器端控件事非常简单的事情,实现 .NET 的 System.Web.UI.WebControls.WebControl 类就可以了。

** 1.4.1.3 ** ** XML Web ** ** 服务 ** ** **

今天, HTML 页面占据了 World Wide Web 的大多数应用。但是,通过 XML 计算机有了一种独立于设备的在 Web 上相互通信的方式。将来,计算机可以利用 Web 和 XML 来交换信息而不是采用专用线路和专有的格式,例如 _ Electronic Data Interchange _ (EDI) _ 。 _ XML Web 服务是为面向服务 Web 而设计的,在最终显示给用户之前,远程计算机可以互相提供动态的信息并且分析和重新格式化已提供给用户。 XML Web 服务以 XML 的形式提供了一种计算机之间互相提供信息的简便方法。

在技术上说, .NET 上的 XML Web 服务就是一种返回 XML 而不是 HTML 给客户端的 ASP.NET 页面。这样的页面饱含一个派生自 Web Service 类的后置代码的 DLL 。 Visual Studio .NET IDE 提供了一个简化 Web 服务开发的引擎。

一个组织主要有两个理由采用 XML Web 服务。第一个原因是 XML Web 服务是依赖于 HTTP 的, XML Web 服务可以利用现有的网络来作为信息传输的媒介。另一个原因是 XML Web 服务所使用的数据格式 XML 是自我描述的、非专用的、平台独立性的。

** 1.4.2 ** ** 创建 ** ** Windows Forms **

尽管 C# 和 .NET 非常适合开发 Web 开发,但是他们仍然为开发所谓的胖客户端或者富客户端应用程序提供了良好支持,这些程序都必须被安装到最终用户的机器上并且在那里执行。这些功能都是由 _ Windows Forms _ 提供的。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus