|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!封装|精髓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使用程序。
(以上程序在VB6企业版、Windows2000Server中文版测试经由过程)
</p>由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; |
|