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一
工
作
研
究


发布评论