2024年4月25日发(作者:)

维普资讯

第l0期 

2002年l0月 

项 代 情 报 ONO.1O 

ctober.2002 

新一代的Web服务器端程序设计技术:ASP+ 

梁广东韩毅王明生 

(空军第二航空学院,长春130022) 

[摘要] 本文主要介绍了MICROSOFT新一代的WEB服务器开发平台ASP+,详细阐述了其相对 

与传统ASP的主要优势,并对ASP+的一些新功能、新特点作了主要说明。 

[关键词] ASP+;NET编程;WWW开发环境 

[中图分类号]TP313 [文献标识码]B [文章编号]1008—0821(2002)10—0104—02 

根据微软.NET Framework的介绍,基础的ASP的设计 

已经改变。这种新的结构已经完全脱离了当前程序运行的 

针对AsP+的所见即所得的VB,C#(微软最新的综合了 

iava和C++的最新编程语言)和C++的设计器和调试器。 

语言以及操作系统指定结构的限制。微软的.NET Frame— 

work是一个与JAVA极其相似的但是作用更为广泛的框架。 

它提供了一个完全的开发和运行环境,它能运行程序。为 

AsP+可以摆脱vbseript的语言限制,并且asp+页面具 

有组件方式的性能。你也可以设定其他缩程语言。可以说, 

ASP+允许你用任何你喜欢的语言来进行页面、应用和组 

件编程。目前支持ASP+缩程的有VB、C#和JerSipt。今后 

将有多达l9种语言宣布支持ASP+。这些语言包括:Cobol, 

Ped,Python,Eitiel,SmallTalk,Lisp,Scheme,0等。ASP+ 

了结合ASP技术与.NET框架,微软开发了一个系统用于 

提供一种更快的动态网页开发。同时这个运行环境会变得 

更加有效率,升级性也有很大的提高,这个技术叫做Ac— 

tire Server Page+,或者干脆叫ASP+,ASP+并不是目前 

ASP3.0版本的自然过渡,而是提供了一种全新的服务器端 

web脚本编程,编写ASP+页面与生成ASP页面有着根本 

上的不同: 

首先,运行机制不同,asp属于一种解释型的缩程框 

提供了统一的运行和调试环境,你可以在其中引用任何符 

合.NET架构的API,如EventLogs,PerfCounters等。 

2 ASP+的新特性与功能 

2.1 ASP+全新的session会话管理机制 

ASP+并不依赖SQL Server或者LDAP来进行session管 

理,session管理使用了Slate Server Process。并提供两个新特 

性: 

2 1.1非Cookie型session 

架,它的核心是vbs和jS,受这两种脚本语言的限制,决定 

了asp先天不足,它无法进行像传统编程语言那样的底层 

工 

作 

A— 

研 

时,不得不借助于用其他传统编程语言如c++、VB、J

究 

VA等编写的组件。其次,由于它是解释执行的,所以在运 

行效率上大打折扣。而asp+是一种编译型的编程框架,它 

的核心是NGWS runlime,除了和asp一样可以采用vbs和iS 

作为编程语言外,还可以用VB和C#来编写,这就决定了 

操作,所以如果你需要进行一些诸如socket、文件等的操作 

相对于客户端记录SesionID的Cookie,我们将Session— 

idz转移并封装到了URL中,这样即使浏览器关闭了cookie 

支持,仍然可以使用session管理。这一过程是自动进行的, 

无需改动程序编码,而且对静态和动态内容都有效,你可 

以关闭与一静态html页面,或者动态页面的链接,而ses— 

它功能的强大,可以进行很多低层操作而不必借助于其他 

编程语言。第三,由于它是编译后运行的,所以执行效率 

要比asp高得多。 

sion仍将保持有效。 

2.1.2外部session状态支持 

可以将sesion的值保存到外部的状态存储单元内,而 

不涉及ASP+现有的工作进程。这样设计使得session状态 

可以跨不同的工作进程甚至多台机器,从而提供更好的可 

靠性和内在的web群集支持。 

ASP+的状态存储是一项专用的NT服务,其承载 

ASP+的编码,同时支持将session数据直接存储到SQL 

l ASP+的运行平台与编程语言 

目前有支持个人用户级的ASP+,将运行在WimOx上, 

包括Windows 98和Windows ME。尽管这不是一个Web服务 

器环境,但将构成一个本地开发平台,在其上可以构筑适 

合本地运行的Web应用。 

在Win2k专业版上ASP+可高效运行,且无需服务器, 

比Win9x版本更加强劲,并支持所有版本和全部功能。 

ASP+可以运行在IIS5或者IIS4上。并且实现与你现有ASP 

系统并行运作,所以现有的ASP应用完全可以照常运行。 

你可以用Visual Studio 6来编写ASP十应用,当然也可 

以使用文本编辑器如notepad和VisuM Studio 7,而VS7带有 

收稿日期:2oo2一O8一o4 

erSver。后一选择具有更好的扩展性,但要求使用soL erSv. 

er。值得注意的是,以上两种状态选项是完全不相互交叉 

干涉的。二者可以同时使用,也可以单独使用。而且,外 

部状态存储是插件型设计,这意味着第三方可以自行设计 

支持该存储模型的插件。 

104一 

维普资讯

第l0期 

2002年lO月 

坝 代 情 报 ONO.10 

cto ̄r.2【)02 

2.2编译器、缓存机制和新的ADO+ 

ASP+的页面可以使用符合NGWS(微软新一代视窗结 

构)规范的编译器进行编译,这包括Visual Studio全线产品 

的编译器,如VB,VC++,Java和C#,也包括其他符合 

为了提供这种属性,微软介绍了一种叫做移动控制的新功 

能,它能够根据不同的设备创建不同的页面。如果是WAP 

手机浏览,他就会创建WML代码,如果是掌上电脑浏览就 

会创建HTML代码,等等。 

这种控制的重点是能够智能化地创建不同的输出,而 

这一规范的编译器,如符合NGWS运行模式的l ed编译器。 

编译后的ASP+提供了数据缓存模式。由于影响Web性能 

的最大延迟和瓶颈来自数据库存取,采用这一机制,可以 

决定何时缓存ASP页面上的数据,以及何时清除缓存并重 

您对不同的设备却使用同一代码。比如,list控制会在手 

机、掌上电脑、PC上显示同一个list菜单,但是他们输出 

显示时所使用的代码却是不同的。有了他,程序员就可以 

新执行数据查询。在ASP+中提供了ADO+,比ADO更容 

易使用。ADO+将数据视为n维对象,而在ADO中,数据 

表述是仅2维的行与列,因而ADO+处理数据更加灵活高 

效。在执行效率方面,ASP+的速度有大幅度提高。ASP+ 

采用基于线程库的新的多线程存取机制,可以进行异步读/ 

写操作,取代了未完成线程的再利用,避免了获取或更新 

状态时可能造成的工作进程阻锁,从而显著提高了系统吞 

吐,这是以前的ASP所无法达到的,因为ASP仅采用单线 

程存取线程库,无法进行异步操作。 

2.3 asp+控件 

asp+控件分原生控件(intrinsic controls),列表控件 

(1ist controls),丰富功能控件(rich controls),校验控件 

(vMidatina controls),以下来简单说明: 

原生控件:一个客户端控件加上runat=Server就变成 

服务器端控件,服务器端控件能在服务器端脚本中被自由 

运用。 

列表控件:主要给用户轻松展示数据集之用。 

丰富功能控件:向客户端输出比较复杂的htntl对象, 

像月历,listview等。 

检验控件:主要用于检查用户的输入,包括Required— 

FiehlValidator,CompareValidator,RangeValidator,RegularEx・ 

pressionValidator等。 

2.4 asp+程序的配置和分发 

全局配置文件:con.ifg.web,应用程序定义文件: 

globa1.蝴.除了支持asp中的Application_OnStart,Application 

OnEnd,Se, ̄ionOnStart and Se ̄ion

OnEnd外,还支持像as 

Applica“on_BeginR q est,Security

OnAuthenticate和其他事件。 

2.5错误处理 

2.5.1 errorPage:(%@Page ErrorPage= /errorpages/thispage. 

aspx %),任何错误将导/errorpages/thispage.aspx页。 

2.5.2语言上的增强:支持Lrv…catch…ilnaUy(vb7)。 

2.5.3 asp+包括全面的跟踪工具。用于调试asp+程序。 

3 ASP+移动控制 

现在一个令网络开发者很能关心的问题就是快速增长 

的移动设备市场。现在已经有上百种不同类型的设备出现 

了,这些产品中没有一种能够和传统PC上的浏览器相兼 

容。这个范围包含但是不仅限制于“无线设备”。同样的有 

掌上电脑,以及我们的电视,还有游戏控制台,这些现在 

都可以上网浏览了。 

这些设备中的大多数不支持HTML,同样不支持颜色, 

字体,定位,声音以及其它各种元素的改变。因此,为你 

的站点创建一个HTML的页面,并不能解决所有的问题。 

因此我们就得为创建一个能为大部分设备所显示的页面。 

开发程序时不用考虑客户使用的设备了。 

3.1 移动控制的范围 

当前版本的移动控制下面的属性是有效的: 

MobilePage如同WML中的deck,Panel如同WML中的 

card,Foml启用用户输入控制l_abel在页面中输出文字, 

Command创建一个链接,TextBox文本输入框,List如同se. 

1eer,RequiredFieldValidator对用户输入进行检查,RegularEx. 

pressionValidator使用用户输入生效,Stylesheet指定输出格 

式,在以后的版本中还有一个SelecfionList控制,功能与list 

大致相同。 

3.2设置此组件 

建立一个移动控制很简单,虽然这些具体的技术一直 

在变,但是这些控制还是一个DLL文件,把它拷贝到就用 

开发环境目录的bin子目录下。当然这个应用也必须是虚 

拟目录。 

在目前的版本中,移动控制只支持WAP手机中的 

WML,以及HTML。以后的版本支持的就多了。比如XHT. 

ML,HDML,cHTL等等。 

4 ASP+与ASP的兼容性和移植工具 

微软提供ASP到AsP+的应用移植软件包。当某些应 

用需要改动来适应于ASP+时,可用来区分或者升级程序 

代码。幸运的是ASP+可与现有的ASP并行不悖,因此你 

可以逐步将现有的ASP应用转移到ASP+上来,加上移植 

工具包,升级过程轻而易举。 

随着Web的日益流行和普及,Web服务器端程序设计 

技术解决方案也层出不穷,竞争也日益激烈。单纯的脚本 

语言因其语法粗略,解释执行等先天不足而受到挑战。面 

向对象,与服务器集成,编译型的技术方案将成为趋势。 

asp+开始具有xml规范,asp+在windows平台上的表现将 

会使jsp在windows平台上无没有任何可言之处。 

参考文献 

[1]许建欣等.Linux WWW服务器高级配置与管理[M]. 

北京:机械工业出版社. 

[2]Rschard Anderson等.预览ASP+[M].北京:人民邮 

电出版社. 

[3]张志学.NET框架开发人员参考手册[M].北京:清 

华大学出版社. 

[4]孙丽君.ASP编程基础及应用实例集锦[M].北京: 

人民邮电出版社. 

[5]Barry Burd.Java Server Pages开发指南[M].北京:电 

子工业出版社. 

l05一 

工 

作 

研 

究