日期:2010-09-30  浏览次数:20430 次

ASP+ 被设计成与以前版本的ASP的向下兼容,在某些情况下只需要一些小的改变。你可以在现有
Windows 2000 服务器上,将ASP+与ASP安装在一起。这就允许你实验新版本而不需要一个独立的测试
服务器。可以继续使用现有的ASP应用程序,在一切就绪后将其移植到到ASP+ 上,这样你对ASP的投入
也不会受到损失。

但是只是简单地将应用程序移到ASP+上只能享受到新版本所提供的好处的皮毛。ASP+有许多新的
特色,使得使用大大地简便、功能更强大、运行时间效率更高,想要利用这些优势就需要对ASP+如何
工作有更多的了解。

在专业开发人员2000会议上,Microsoft发布了ASP+的预览版本,让开发人员看看它能做些什么,
并且为将来使用大大减少的代码编写动态Web应用程序的可能性先激动一番。

看起来好象有很长时间了,但实际上Active Server Pages 存在才只有3年多一点。它开始是在
1996年年底,但是它发展很快,已经成为当前在Windows 环境下服务器侧Web 应用程序开发的主要
技术(使用其它执行方法的其它平台也接受相同的句法,如ChilliASP)。但是它并不是凭空而来,
它的发源是在很久以前。

服务器端动态Web编程

传统上来说,动态Web 页是用服务器侧可执行程序创建的。一个标准化的Web 服务器界面规范,
称为Common Gateway Interface (CGI) ,允许一个可执行程序使用从客户机引入的请求的所有信息。
然后程序就能够产生构成返回页面所要求的所有输出,( HTML, 脚本代码,文本等),然后通过Web
服务器将其发送回客户机。

为了减轻编程人员的负担,使他们不用再去创建可执行程序,类似Perl 的语言使用一种可接受
基于文本的脚本文件的应用程序。程序员只写出脚本,Web 服务器用Perl 解释程序执行它。

Microsoft用他们的Web 服务器、 Internet信息服务器介绍了另一种Web 服务器界面。它被称为
Internet服务器应用程序编程界面 (ISAPI), 它与CGI的不同在于,它允许动态链接库内的编译代码
直接由Web 服务器执行。而用CGI,代码可以使用客户请求中的所有信息,它产生返回页面的全部
输出。

Microsoft的Web 领域的大多数开发都是基于ISAPI 。一个早期而短命的产品是dbWeb,这是
一种数据访问技术,为访问存储在服务器上的数据和与客户机相互作用提供一系列的搜索、过滤、
格式化功能。

第二种开发是Internet 数据库连接器(IDC)。后来证实这是对开发人员的巨大冲击,因为它
不但快速、高效(不象dbWeb),而且它更加通用、易于编程。IDC介绍了模板的概念,允许编程
人员轻易地改编现有HTML页面,利用它的主要部分,围绕它建立新的应用程序。

IDC 给每个“页面”使用两个文本文件。第一个是一个简单的脚本,它定义从基于数据库的
服务器采集数据的方式。从本质上说,它就是一个SQL 声明外加一些配置信息。

{this is the query file named getuserlist.idc}
Datasource: GlobalExampleData
Username: examples
Password: secret
Template: getuserlist.htx
SQLStatement:
+ SELECT DISTINCT UserName
+ FROM Person ORDER BY UserName;

服务器执行这一文件以获取结果记录集,然后装载一个模板文件:

{this is an extract from the template file named getuserlist.htx}
...
〈 TABLE 〉
〈 TR 〉
〈 TD 〉User name:〈 /TD 〉
〈 TD 〉
〈 SELECT NAME=selUserName 〉
〈 %BeginDetail% 〉
〈 OPTION VALUE="〈 %UserName% 〉" 〉〈 %UserName% 〉
〈 %EndDetail% 〉
〈 /SELECT 〉
〈 /TD 〉
〈 /TR 〉
〈 /TABLE 〉
...

模板只是一个普通的Web 页,包含HTML、文本和其它对象,但是其中有一个或多个专门插入的
分界占位符。这些占位符的句法和被支持的其它简单程序代码结构,与ASP非常相似。所以,ASP
实际上是从这里演化而来的。