ASP编程:用VB编写ActiveX DLL完成ASP编程
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。ASP是今朝一种广为使用的用来疾速构建静态WEB站点的编程言语,默许的内置开辟言语是VBScript,因为ASP和微软Windows系列操纵体系的分离十分的好,使得ASP已成了NT开辟平台下面举行WEB开辟的首选言语和情况。他有着复杂易学,便利疾速开辟的各种长处,可是他也有着致命的缺点,就是他是剧本言语注释实行的,速率会遭到必定的影响,更加关头的是,利用ASP来开辟完成一个项目以后,全部项目在托付客户利用的时分,是会连带一切的ASP剧本源代码的,也就没法将贸易程序保密了,源代码泄露会给本人形成很年夜的丧失,固然微软也响应的推出了用来加密ASP程序的软件,可是有着诸多的限定,和会下降程序运转的速率和二次开辟调试的难度,岂非ASP做出来的项目就真的要表露一切的源代码吗?固然了,谜底固然是不是定的,由于天下上没有相对不成能的事变,接上去就跟从我来看看怎样使用VB的ActiveXDLL来完成将ASP程序封装起来吧,也就是我们可使用ActiveXDLL来完成一切ASP能完成的事变,而ActiveXDLL是编译好的DLL文件,他人是没法得知你的源代码的,也就包管的本人的贸易秘密和中心手艺,而且到达一样的效果,利用完整封装的ActiveXDLL会比完整合用ASP剧本言语的实行速率要快良多,特别是年夜运算量的时分跟为分明!经由我们的详细测试,在利用10000条数据库纪录的时分,封装成为ActiveXDLL的WEB使用程序比纯ASP代码的使用程序,速率下面要快约莫21%摆布,在今朝国际过于迟缓的收集来说,速率就是一个WEB站点的很关头的一部分。而且接纳了ActiveXDLL来开辟WEB程序,要比纯真利用ASP好很多,究竟ASP只能利用VBScript来开辟,没法享用VB大批的长处,而ActiveXDLL则能够充实使用VB内里一切的特征。
上面我们先来看看甚么是ActiveXDLL吧。ActiveX是微软提出的普遍使用于Windows系列的一种代码封装手艺,进步了程序代码的可重用性,加速了程序项目标开辟速率,一样平常被称为“组件”。在VB6的集成开辟情况傍边,我们能够看到一下几种ActiveX项目:
1、ActiveXEXE
这是在“历程外”运转的ActiveX/COM服务器组件,也就是说他们运转的历程和初始化组件的客户机代码分歧。只管能够用ASP会见ActiveXEXE,可是不保举修改IIS元库,该库同意一切的可实行文件由服务器上运转的剧本代码启动。
2、ActiveXOCXs
这些特别的组件把主机使用程序显现和操纵组件所需的附加撑持包括在GUI情况中。还能够把OCX组件放在网页傍边。可是,OCX是使用程序界面,不成以利用ASP来创立的。
3、ActiveX文档DLL和ActiveX文档EXE
Active文档能够在OLE文件箱使用程序中,比方IE大概OfficeBinder,显现VB表单。但他们在ASP不克不及使用。
4、ActiveXDLLs
这些ActiveX/COM组件和初始化组件的客户机在统一个历程中运转。而我们要会商的ActiveXDLL恰是全部组件。一样平常微软的附加组件和其他的一些第三方厂家供应的各类组件都是这类范例的ActiveXDLL,可是其实不满是利用VB编写的,一样可使用VC/JAVA等等言语来开辟。
切磋完了甚么是ActiveXDLL,我们入手下手正式编写我们本人的ActiveXDLL,以便来完成ASP中的一样功效,尽人皆知,ASP内置了Response、Request、Server、Session、Application五个工具,实在这五个内置工具恰是IIS把持台初始化的五个ActiveXDLL组件,既然IIS能够初始化这五个组件用于ASP中,我们固然也能够间接在我们的ActiveXDLL中援用这些组件来完成我们的编程,也就是说我们能够在VB使用程序中经由过程援用这些组件来完成会见ASP内置工具的功效。
只需你安装了PWS4大概IIS4以上的WEB服务器,你就具有了一个称号叫做“MicrosoftActiveServerPagesObject”的工具库,我们能够在VB的ActiveXDLL使用中援用这个工具库,经由过程援用这个工具库,我们就取得了一个工具(类):ScriptingContext,这个工具也恰是我们全部文章切磋的中心工具。工具库内的干系以下:
工具库 类 类成员
ASPTypeLibraryScriptingContextApplication
Request
Response
Session
Server
经由过程下面的干系图,我们就能够很简单了解类ScriptingContent。上面我们来看一个详细的例子吧:
1、利用VB6创立一个新的ActiveXDLL项目
2、援用“MicrosoftActiveServerPagesObject”工具库。
3、创立两个组件事务:OnStartPage和OnEndPage
4、在事务OnStartPage中创立类ScriptingContent的一个援用。
5、实例化类ScriptingContent。
Test.cls(类完成)
工具的声明
DimrpasResponse
DimrqasRequest
DimapasApplication
DimsrasServer
DimsnasSession
当组件被创立的时分会触发这个事务
PublicSubOnStartPage(myscasScriptingContent)
举行工具的实例化
setrp=mysc.Response
setrq=mysc.Request
setsr=mysc.Server
setap=mysc.Application
setsn=mysc.Session
rp.write"<br>ActiveXDLL组件已被创立了!<br>"
EndSub
当组件被烧毁的时分触发这个事务
PublicSubOnEndPage()
Rp.write"<br>ActiveXDLL组件已被烧毁!<br>"
烧毁工具
Setrp=nothing
Setrq=nothing
Setsr=nothing
Setap=nothing
Setsn=nothing
EndSub
界说我们本人的一个组件办法
PublicSubHelloWorld()
Rp.write"<H1>Hello,World!</H1>"
EndSub
如许,我们就创立能够会见ASP内置工具的ActiveXDLL了。我们定名这个组件项目为first,在VB两头编译这项目成为一个DLL文件first.dll,而且我们在体系中注册这个DLL文件。接上去,我们必要一个复杂的几近没有甚么代码的ASP程序来挪用这个组件:
test.asp
<html>
<head>
<title>测试ActiveXDLL</title>
</head>
<body>
<%
Dimtestme
创立我们方才编译乐成的组件,一旦创立这个组件,同时会在叶面输入笔墨“ActiveXDLL组件已被
创立了!”
settestme=server.createobject("first.test")
挪用组件的办法
testme.HelloWorld
刊出组件,在刊出的同时,会主动在叶面显现“ActiveXDLL组件已被烧毁!”
settestme=nothing
%>
</body>
</html>
经由过程下面复杂的例子,我们能够看到利用ActiveXDLL一样能够完成和ASP一样的功效,而且带来的代码保密和程序运转加倍高效的长处。ActiveXDLL和纯ASP有着各自的长处和弱点,只需我们公道的使用这两种手艺,好比得当的将贸易逻辑封装在ActiveXDLL中,大概在必要保密的中央利用DLL封装手艺,必定能够编写出高效疾速的WEB使用程序。
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
页:
[1]