一. 什么是ASP.net
ASP.net 是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET 不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。
ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。
二. Asp.Net 的 优异特性: Asp.net相比 其他编程语言,有很多优秀的特性:
-
执行效率的大幅提高: ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
-
世界级的工具支持: ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。
-
强大性和适应性: 因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
-
简单性和易学性: ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。
-
高效可管理性: ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。
-
多处理器环境的可靠性: ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。
-
自定义性和可扩展性: ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。
-
安全性: 基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。
三. Asp.Net Web应用程序开发说明
当创建 ASP.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。
-
使用 Web 窗体可以生成功能强大的基于窗体的 Web 页。生成这些页时,可以使用 ASP.NET 服务器控件来创建公共 UI 元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成 Web 窗体,从而简化页面的代码。有关更多信息,请参见 Web 窗体页。有关如何开发 ASP.NET 服务器控件的信息,请参见开发 ASP.NET 服务器控件。
-
XML Web services 提供了远程访问服务器功能的途径。使用 XML Web services,企业可以公开数据或业务逻辑的编程接口,而客户端和服务器应用程序则可以获取和操作这些编程接口。通过使用诸如 HTTP 和 XML 消息传递之类的标准跨越防火墙移动数据,XML Web services 可在客户端-服务器或服务器-服务器方案下实现数据的交换。XML Web services 不用依靠特定的组件技术或对象调用约定。因此,用任何语言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问 XML Web services。有关更多信息,请参见使用 ASP.NET 和 XML Web services 客户端创建的 XML Web services。
这些模型中的每一个模型都可以充分利用所有 ASP.NET 功能,以及 .NET Framework 和 .NET Framework 公共语言运行库的强大功能。这些功能以及使用它们的方法概述如下:
-
如果您具有 ASP 开发技能,则新的 ASP.NET 编程模型对您来说将会是非常熟悉的。不过,与 ASP 相比,ASP.NET 对象模型变化显著,它更为结构化并且面向对象。但这也意味着 ASP.NET 不是完全向后兼容的;几乎所有现有的 ASP 页都必须经过一定程度的修改后才可以在 ASP.NET 下运行。此外,对 Visual Basic .NET 的一些主要更改也意味着,用 Visual Basic Scripting 版本编写的现有 ASP 页通常将不会直接移植到 ASP.NET 中。不过,在大多数情况下,只需对少数几行代码进行必要的修改。有关更多信息,请参见将 ASP 页迁移到 ASP.NET。
-
从 ASP.NET 应用程序访问数据库是向 Web 站点访问者显示数据的常用技术。ASP.NET 使得为此目的而对数据库的访问比以往更加方便。它还使您能够从您的代码管理数据库。有关更多信息,请参见通过 ASP.NET 访问数据。
-
ASP.NET 提供一种简单的模型,该模型使 Web 开发人员能够编写在应用程序级运行的逻辑。开发人员可以在 Global.asax 文本文件中或在作为程序集部署的已编译类中编写这种代码。这种逻辑可以包括应用程序级事件,但开发人员可以轻松地扩展这种模型,以适应他们的 Web 应用程序的需要。有关更多信息,请参见 ASP.NET 应用程序。
-
ASP.NET 提供易用的应用程序和会话状态功能,它们对于 ASP 开发人员来说是熟悉的,且容易与所有其他 .NET Framework API 兼容。有关更多信息,请参见 ASP.NET 状态管理。
-
对于需要使用像 ISAPI 编程接口(随附于以前的 ASP 版本中)那样功能强大的 API 的高级开发人员,ASP.NET 提供了 IHttpHandler 和 IHttpModule 接口。实现 IHttpHandler 接口,给您提供了一种与 IIS Web 服务器的低级别请求和响应服务交互的手段,并提供与 ISAPI 扩展非常类似的功能,但编程模型却较为简单。实现 IHttpModule 接口使您可以包含参与对应用程序发出的每个请求的自定义事件。有关更多信息,请参见 HTTP 运行库支持。
-
ASP.NET 利用 .NET Framework 和公共语言运行库中的性能增强功能。另外,它还可以提供相对于 ASP 和其他 Web 开发平台来说显著的性能改进。所有 ASP.NET 代码都是编译的,而不是解释的,这就允许对本机代码采用早期绑定,强类型处理,以及实时 (JIT) 编译,这里只列举几个优点而已。ASP.NET 还可方便地分解,即开发人员可以移除那些与他们开发的应用程序不相关的模块(例如,会话模块)。ASP.NET 还提供丰富的缓存服务(包括内置服务和缓存 API 两种)。ASP.NET 还提供性能计数器,开发人员和系统管理员可以监视这些性能计数器,以测试新的应用程序和搜集有关现有应用程序的度量标准。有关更多信息,请参见 ASP.NET 缓存功能和 ASP.NET 优化。
-
在 Web 页中编写自定义调试语句,对排除应用程序代码中的错误非常有帮助。但是,如果不移除它们,则会带来麻烦。问题是,在应用程序准备好移植到生产服务器时从页面中移除调试语句,会需要很大的工作量。ASP.NET 提供 TraceContext 类,在开发页面时该类用于在页面上编写自定义调试语句。只有当您已经对页面或整个应用程序启用跟踪时它们才出现。启用跟踪还将有关请求的细节追加到页面,或者,追加到存储在应用程序根目录中的自定义跟踪查看器(如果这样指定的话)。有关更多信息,请参见 ASP.NET 跟踪。
-
.NET Framework 和 ASP.NET 为 Web 应用程序提供默认授权和验证方案。可以方便地移除、添加或者替换这些方案,这取决于应用程序的需要。有关更多信息,请参见保护 ASP.NET Web 应用程序。
-
ASP.NET 配置设置存储在基于 XML 的文件中,这些文件都是人可读和可写的。每一个应用程序都可以有不同的配置文件,可以扩展配置方案,以适应您的要求。有关更多信息,请参见 ASP.NET 配置。
-
当应用程序安装在同一台计算机上,但使用不同的 .NET Framework 版本时,就说应用程序是并行运行的。要了解如何对服务器上的不同应用程序使用不同的 ASP.NET 版本,请参见 ASP.NET 中的并行 (Side-by-Side) 支持。
-
IIS 6.0 使用一个称为辅助进程隔离模式的新进程模型,它不同于 IIS 早期版本中使用的进程模型。当在 Windows Server 2003 上运行时,默认情况下 ASP.NET 使用该进程模型。有关如何将 ASP.NET 进程模型设置迁移到辅助进程隔离模式的信息,请参见 IIS 6.0 应用程序隔离模式。