用VB将ASP代码封装成DLL的方法

将ASP代码封装在DLL中的好处是:可以保护我们的代码,可以提高运行速度,缺点是要先在服务器上注册这个DLL组件。

 

 

将ASP代码编译成dll组件的步骤:

1、打开您的Microsoft Visual Basic,新建工程ActiveX DLL

 

2、修改工程名(如hbwl)和类模块的名称(如class)


3、增加到引用asp:点击工程--引用,然后选择其中的
Microsoft Active Server Pages Object Library
Microsoft ActiveX Data Objects 2.8 Library
Microsoft ActiveX Data Objects Recordset 2.8 library.


4、编写代码:
Option Explicit
Private Context As ScriptingContext
Private Application As Application
Private Response As Response
Private Request As Request
Private Session As Session
Private Server As Server

Public Sub OnStartPage(PassedscriptContext As ScriptingContext)
Set Context = PassedscriptContext
Set Application = Context.Application
Set Request = Context.Request
Set Response = Context.Response
Set Server = Context.Server
Set Session = Context.Session
End Sub

' 释放内部对象
Public Sub OnEndPage()
Set Application = Nothing
Set Request = Nothing
Set Response = Nothing
Set Server = Nothing
Set Session = Nothing
Set Context = Nothing
End Sub

 

Public Sub showsuc()
Response.Write "我是蓝色理想的老农,您好"
End Sub

其中,除上面的showsuc过程外,其他都是必须的。showsuc过程是我们自己要表现的程序.


函数格式如下:
Public Function dw() As String
    dw = "石门实验小学"
End Function

ctrl+s保存在d:\mylib\class.cls
在把工程保存为d:\mylib\hbwl.vbp

 

5 、编译,注册成dll:
点击生成hbwl.dll
没啥警告的话那就ok了,路径保存在d:\mylib\hbwl.dll.
然后开始-->运行-->
regsvr32 d:\mylib\hbwl.dll
这就注册成功了.

 

6、使用hbwl.dll:
新建asp文件,输入:
Dim hbwlclass
Set hbwlclass=Server.CreateObject("hbwl.class")
hbwlclass.showsuc()

注意:对已经存在的组建名称或这修改了dll文件,必须先停止IIS,再重启注册使用,否则会一直在原来的基础上.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由本人第一次尝试制作的录像视频教程,由于电脑速度较慢,播放时间较慢,请谅解。 本录像讲解最基础的VB封装ASP代码DLL的制作教程,适合初级学习者参考。也是本人学习VB制作ASP组件的第一个尝试,录像基本功。 用vb编写asp组件(dll)示例 下面,将演示如何使用vb制作aspdll组件... 1. 启动你的vb,选择activex dll图标,然后在点击菜单的工程>>引用,接 着在弹出的"引用"窗口从中选择 microsoft active server pages object library. 2. 给工程和类重命名,在asp中调用时,就全靠它了^_^!我们的工程名改 为aspdll,类名为demo.在asp中调用的方法是: set objreference = server.createobject("工程名.类名") 本例调用的相应代码如下: set objreference = server.createobject("aspdll.demo") 调用的方法和一般常见的,比如fso等组件的方法一模一样. 心动了吧,呵呵,下面我们继续.... 3. 接着,我们开始编写代码,打开我们刚才新建工程类窗口,第一步,先声 明我们要用到的变量.主要是在vb声明替代asp几大对象的变量名,定义这 asp的几大对象后,我们就可以像在asp环境中调用类似request,server等 这样的几大对象了.(声明的变量名完全可以和asp对象名一样)代码如下: '********************************************** private mys criptingcontext as s criptingcontext private myapplication as application private myrequest as request private myresponse as response private myserver as server private mysession as session '********************************************** 4. 声明完变量后,我们必须在类中写onstartpage子函数.本函数的作用是 当用户访问一个带有本组件的asp文件时,iis就会把s criptingcontext传 送给我们vb组件对象.这个s criptingcontext包括了全部的asp方法和属性 .这样,就使得我们有能力访问所有asp的对象.代码如下: '***************************************************************** public sub onstartpage(passeds criptingcontext as s criptingcontext) set mys criptingcontext = passeds criptingcontext set myapplication = mys criptingcontext.application set myrequest = mys criptingcontext.request set myresponse = mys criptingcontext.response set myserver = mys criptingcontext.server set mysession = mys criptingcontext.session end sub '***************************************************************** 通过上面的函数,我们在asp中调用本组件后,上面的几大对象就完全可以 像平时我们在asp使用一样了,举个例子: 在asp中实现接收提交的表单值并输出屏幕: <% formvalue=request.form("username") response.write ("你提交的用户名是"&myformvalue&",欢迎您!") %> 在vb中实现方法是: formvalue=myrequest.form("username") myresponse.write ("你提交的用户名是"&myformvalue&",欢迎您!") 5. 相对应于onstartpage函数,我们还要编写一个关闭onstartpage中对象 的onendpage函数,代码如下: '********************************* public sub onendpage() set mys criptingcontext = nothing set myapplication = nothing set myrequest = nothing set myresponse = nothing set myserver = nothing set mysession = nothing end sub '******************************** 6.通过编写上面的代码,我们在vb中编写asp组件实例的环境已经具备了, 下面,我就尝试写两个与asp中基本相类似的函数,也就是说,关键部位就在 这里了,你完全可以把你所有的asp源码封装在这里... 先写个最简单的输出屏幕信息函数: '******************************************** public sub welcomeinfo() myresponse.write ("阿里西西_web开发,欢迎访www.alixixi.com!") end sub '******************************************** 再写个带参数传递及显示now()现在时间的函数: '********************************** public sub setinfo(content as string) myresponse.write content & "<br>" myresponse.write "现在的时间是:" & now() end sub '********************************** 通过上面的asp代码实例,你会发现其实这和asp源码基本没有区别^_^ 7. 好了,整个类就编写完了,我们开始打包封装dll.我们先保存工程, 这里我们保存到e:\vbdll,接着选择菜单上的文件>>生aspdll.dll,很 快的dll组件就封装并生完毕了. 8. 生dll文件后,我们开始调试和使用.在系统运行栏输入cmd,进入dos 命令行状态,我们要注册刚才生dll组件,注册方法是可以直接输入 regsvr32 e:\vbdll\aspdll.dll ,为了安装方便,你同时可以写个批处理 文件,这里不一一举例了...好,注册功! 9.注册完dll组件后,我们针对刚才的组件,按照上面介绍过的方法编写一 个asp文件来调试.代码如下: <% set redll = server.createobject("aspdll.demo") redll.welcomeinfo response.write "<hr />" redll.setinfo("传递参数到服务器组件,并返回值及当前日期now()!") response.write "<hr />" set redll = nothing %> 在iis中打开此文件,屏幕显示:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值