开发ASP组件,引用ASP内置对象又一方法[转]
众所周知,ASP内置了Response、Request、Server、Session、Application五个对象,其实这五个内置对象正是IIS控制台初始化的五个ActiveX DLL组件,既然IIS可以初始化这五个组件用于ASP中,我们当然也可以直接在我们的ActiveX DLL中引用这些组件来实现我们的编程,也就是说我们可以在VB应用程序中通过引用这些组件来实现访问ASP内置对象的功能。 <BR><BR>通常大家了解的方法就是在安装了PWS4或者IIS4以上的WEB服务器,直接在VB的ActiveX DLL应用中引用一个名称叫做“Microsoft Active Server Pages Object”的对象库,通过引用这个对象库,我们就获得了一个对象(类):ScriptingContext,这个对象也正是我们整个文章探讨的核心对象:Response、Request、Server、Session、Application。<BR><BR>但是换个思路来考虑。因为调用 Active Server Pages Object 开发的 ActiveX DLL 通常都是直接被ASP所调用。所以我们可以换个方法在不用直接引用Active Server Pages Object 对象库的状态下来使用ASP对象。<BR><BR>具体代码如下:<BR>1:新建一个VB工程,我们在这里命名为 UnitiCMSV2:(如下所示)<BR><BR><A class=page href="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_273321.JPG" target=_blank><IMG alt="click for full size" src="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_273321.JPG" onload="javascript:if(this.width>document.body.clientWidth-300) {this.height=(document.body.clientWidth-300)*this.height/this.width;this.width=document.body.clientWidth-300}" border=0></A><BR><BR>2:首先该VB工程中建立一个模块,并在模块中声名ASP对象名称:(如下所示)<BR><BR><A class=page href="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_570547.JPG" target=_blank><IMG alt="click for full size" src="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_570547.JPG" onload="javascript:if(this.width>document.body.clientWidth-300) {this.height=(document.body.clientWidth-300)*this.height/this.width;this.width=document.body.clientWidth-300}" border=0></A><BR><BR>3:建立一个类模块,并在类模块中初试化对象实例:(如下所示)<BR><BR><A class=page href="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_420721.JPG" target=_blank><IMG alt="click for full size" src="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_420721.JPG" onload="javascript:if(this.width>document.body.clientWidth-300) {this.height=(document.body.clientWidth-300)*this.height/this.width;this.width=document.body.clientWidth-300}" border=0></A><BR><BR>4:下面是ASP调用及初始化 ActiveX DLL 的方法:<BR><BR><A class=page href="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_722632.JPG" target=_blank><IMG alt="click for full size" src="http://www.contnew.net/zh-cn/topic/devnet/upfile/20050430_722632.JPG" onload="javascript:if(this.width>document.body.clientWidth-300) {this.height=(document.body.clientWidth-300)*this.height/this.width;this.width=document.body.clientWidth-300}" border=0></A><BR><BR>以上就是本文主要的介绍内容,通过ASP将ASP的内置对象以参数的方式直接引用到VB的ActiveX DLL中。节约了引用对象和 OnStartPage 的花销。这样做我经过测试效率是有所提高,但是如果你的ActiveX DLL不是应用在ASP中。这个方面不推荐使用。因为这个方法是需要ASP作为对象的寄主身份存在的。<BR><BR>
天气:大雨,ccdot发表于2005-7-24,阅读了1951次,共有个0回复.