【asp源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了asp源码-VB编写ActiveX DLL实现ASP编程 - 项目管理的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
2003年12月第4期河北工程技术高等专科学校学报JOURNALOFHEBEIENGINEERINGANDTECHNICALCOLLEGEDec.2003No.4文章编号1008-3782200304-0051-03VB编写ActiveXDLL实现
ASP编程王海松河北工程技术高等专科学校
计算机中心河北沧州061001摘要介绍如何利用ActiveXDLL实现将
ASP程序封装以使得源代码不被泄露、程序的执行速度加快。
并通过实例验证了采用ActiveXDLL实现
ASP程序封装后给程序运行及保密等方面带来的优点。
关键词ASPVBActiveXDLL封装中图分类号TP312文献标识码AASP是目前一种广为应用的用来快速构建动态WEB站点的编程语言默认的内置开发语言是VBScript1由于
ASP和微软Windows系列操作系统的结合非常好使得
ASP已经成为基于NT开发平台进行WEB开发的首选语言与环境。
ASP有简单易学、方便快速开发等优点但是也有着致命的弱点就是它的脚本语言解释执行速度受到了一定的影响更为关键的是使用
ASP来开发完成一个项目后整个项目在交付使用的时候会连带所有的
ASP脚本原代码也就无法将程序保密了。
源代码泄漏会造成很大的损失。
虽然微软也相应的推出了用来加密
ASP程序的软件但是有着诸多的限制以及会降低程序运行速度和二次开发调试的难度2。
探讨如何利用ActiveXDLL来实现将
ASP程序封装也就是如何使用ActiveXDLL来完成所有
ASP所能完成的工作。
由于ActiveXDLL是编译好的DLL文件别人是无法得知源代码的从而
源代码不被泄露核心技术不被盗用。
使用完全封装的ActiveXDLL会比完全
ASP脚本语言的执行速度要快很多尤其是大运算量时更为明显。
1具体测试1测试环境。
硬件环境P3-450、128M内存
软件环境Win2000操作
系统、TTS5.0、Access数据库。
表1时间对比表编码方式时间操纵10000条数据库记录纯
ASP约18sActiveXDLL技术封装约14s2测试结果如表1。
可以看出在操纵10000条数据库记录时封装成为ActiveXDLL的WEB应用程序比纯
ASP代码的应用
程序在速度上要快大约21左右。
对于目前国内过于缓慢的
网络来讲速度是一个WEB站点很关键的一部分。
并且采用了ActiveXDLL来开发WEB程序要比单纯使用
ASP好得多毕竟
ASP只能使用VBScript来开发无法享用VB大量的优点而ActiveXDLL则可以充分利用VB里面所有的特性3。
由于
ASP源代码采用ActiveX技术进行了封装所以采用一般的技术很难查看
ASP源代码因此很好地保护了源代码不被窃取。
2ActiveXDLLActiveX是微软提出的广泛应用于Windows系列的一种代码封装技术它提高了程序代码的可重用性加快了程序项目的开发速度一般被称为“组件”。
在VB6的集成开发环境中包含ActiveXEXE、ActiveXOCXsActiveX
文档DLL和ActiveX
文档EXE、ActiveXDLLs等几种ActiveX项目本文所用到的为ActiveXDLLs组件。
收稿日期20030312作者简介王海松1977男河北孟村人河北工程技术高等专科学校助教。
3实现过程编写ActiveXDLL以便来实现
ASP中的同样功能。
ASP内置了Respones、Reguest、Server、Session、AppIica-tion五个对象这五个内置对象正是S控制台初始化的五个ActiveXDLL组件。
既然S可以初始化这五个组件用于
ASP中当然也可以直接在ActiveXDLL中引用这些组件来实现编程也就是说可以在
VB应用程序中通过引用这些组件来实现访问
ASP内置对象的功能。
安装了PWS4或者S4以上的WEB服务器就有了一个名叫“MicrosoftActiveServerPaesObject”的对象库那么就可以在VB的ActiveXDLL应用中引用这个对象库通过引用这个对象库就可获得一个对象类ScriptinContext这个对象也正是本文探讨的核心对象。
对象库内的关系如表2。
表2对象库的关系表对象库类类成员ASPypeLibraryScriptinContextAppIicationReguestResponseSessionServer通过表2可以很容易理解类ScriptinContent。
下面是一个具体实例l使用VB6创建一个新的ActiveXDLL项目。
2引用“MicrosoftActiveServerPaesObject”对象库。
3创建两个组件事件OnStartpae以及Onendpae。
4在事件OnStartpae中创建类ScriptinContent的一个引用。
5实例化类ScriptinContent。
est.cIs类实现DimrpasResponseDimrpasReguestDimrpasAppIicationDimrpasServerDimrpasSessionpubIicSubOnstartPaemyscasScriptinContentsetrpmysc.Responsesetrgmysc.ReguestSetsrmysc.serversetapmysc.AppIicationsetsnmysc.Sessionrp.write”ActiveXDLL组件已经被创建了EndSubpubIicSubOnendpaeRp.writeActiveXDLL组件已被销毁SetrpnothinSetrgnothinSetsrnothinSetapnothinSetsnnothinEndSubPubIicSubHeIIoworIdRp.writeHeIIoWorIdEndSub这样就创建可以访问
ASP内置对象的ActiveXDLL了。
假设命名这个组件项目为first在VB中间编译这项目成为一个DLL文件first.dII并且在系统中
注册这个DLL文件。
按下来只需要一个简单的
ASP程序25河北工程技术高等专科学校学报2003来调用这个组件test.
asp 4结语使用ActiveXDLL可以实现和
ASP同样的功能并且带来了代码保密和程序运行更加高效的优点。
Ac-tiveXDLL和纯
ASP有着各自的优点和缺点只要合理的运用这两种技术比如适当的将商业逻辑封装在Ac-tiveXDLL中或者在需要保密的地方使用DLL封装技术便可以创造高效快速的WEB应用程序。
参考文献1唐青松颜亮.
ASP应用开发全功略宝略M.北京中国水利水电出版社2000.2贺世娟陈冀川.VB6.0程序
设计M.北京中国水利水电出版社2002.EncapsuIatingASPWithActiveXofVBWANGai-songComputerCentreebeiEngineeringandTechnicaICoIIegeCangzhou061001ChinaAbstractThispaperismainIyabouthowtouseActiveXDLLtoencapsuIateASPsoastoprotectthesoundcodefromIeakageandenhancethespeedofprogramrunning.tintroducessomeASPtechniuesasweIIastheshortcomingsofthem.WithsomeexampIesitprovestheadvantagesinrunningandsecuringaprogrambyusingActiveXDLLtoencapsu-IateASP.Key
wordsASPVBActiveXDLLencapsuIate责任编辑崔振才35第4期王海松VB编写ActiveXDLL实现
ASP编程