使用VB将ASP代码封装生成DLL文件

使用VB将ASP代码封装生成DLL文件,第1张

使用VB将ASP代码封装生成DLL文件,第2张

一.导言

服务器端脚本运行环境,简单易用,不需要编译连接。脚本可以直接在服务器端运行,并且它支持多用户和多线程,因此在Web开发中得到了广泛的应用。服务器的组件不同于客户端的组件。客户端的组件通过网络传输,依靠HTML工作,只能在IE上使用。但是服务器端组件运行在服务器端,它在服务器上执行各种操作。所以所有的浏览器都可以享受,它取决于服务器而不是浏览器。但是,由于ASP脚本是纯文本格式的,恶意者很容易看到源代码本不该看到的页面内容。因此,保护ASP源代码是非常重要的。将ASP代码封装成DLL,既加快了ASP代码的执行速度,又保护了原代码。当IIS被请求执行一个ASP程序时,它会首先找到ASP文件中标记之间的代码,并执行它(或者它们之间的代码)。如果这个ASP程序之前被调用过,它会使用内存中编译好的程序向用户返回HTML代码。如果没有,它将被重新编译。这大大节省了服务器的资源。


二。实现方法

启动你的VB并选择ActiveX图标。这个图标可以在新建的项目中找到!VB将提供一个默认的项目名(project1)和类名(class1)。在你做之前请确认我们有微软ActiveX数据对象2.0库,这在我们的程序中非常有用。从菜单中选择“项目”,然后在其中选择“引用”,会出现“引用”窗口,从中可以选择Microsoft ActiveX数据对象2.0库。

现在我们有了自己的项目(project1)和类名(class1)。我们以后在ASP代码中会用它们的名字来指代这个组件。在ASP中,我们是这样引用的,如下:
setobjreference = server . createobject(" project name . class name ")

为了在一个类中使用ASP方法,你必须在这个类中编写初始化和终止函数。在程序列表的
Class1.cls中输入以下代码:Private Sub Class_Initialize()和Private Sub Class_Terminate()。

将ASP代码中的关键函数做成动态链接库(。dll),并部分隐藏ASP源代码。比如程序列表中Global.bas和Class1.cls中输入的代码(代码的主要作用是检索数据库中的记录并显示)。

在VB的下拉菜单中选择文件→生成article.dll→选择要保存的目录。找到article.dll并将其复制到系统盘system32文件夹中。最后一步是注册DLL文件。从“开始”菜单中选择“运行输入regsvr 32 c:\ win nt \ system32 \ article.dll”。


三。程序表

Global.bas中的代码:
以下是引号片段:
public obj context as object context

作为ASPTypeLibrary的公共应用程序。应用

作为ASPTypeLibrary的公共服务器。计算机网络服务器

作为ASPTypeLibrary的公共会话。会议

作为ASPTypeLibrary的公共响应。反应

作为ASPTypeLibrary的公共请求。请求


class 1 . cls中的代码:
private subclass _ initialize()

出错时继续下一步

Set objContext = GetObjectContext

设置Application = objContext。项目(“应用”)

Set Server = objContext。项目(“服务器”)

Set Session = objContext。项目(“会话”)

Set Request = objContext。项目(“请求”)

Set Response = objContext。项目(“响应”)

末端接头


私有子类_Terminate()

出错时继续下一步

设置应用程序=无

设置服务器=无

设置会话=无

设置请求=无

设置响应=无

Set objContext = Nothing

末端接头


Public Sub AspClassInit()

出错时转到错误

设置conn =服务器。CreateObject("ADODB。连接”)

strcon = "Provider=Microsoft。Jet . OLEDB.4.0”& _

"数据源=" & Server。MapPath("Article.mdb ")

连接打开strcon

设置rs =服务器。CreateObject("ADODB。记录集”)

sql = " select * from Article order商品订单"

rs。打开sql,康涅狄格州,1,1

Response . write " " & VBCRLF
Response . write " " & VBCRLF
Response . write " " & VBCRLF
Response . write“文章管理系统-CSSTUDIO”& vbCrLf
回复。写“& vbCrLf
回应。写“& vbCrLf
回应。写“& vbCrLf
回应。写“& vbCrLf
回应。写下“文章标题”& vbCrLf
回复。写下“点击”& vbCrLf
回复。写“添加日期”& vbcrlf
响应。写“& vbcrlf
响应。写" " & vbCrLf
而不是rs。EOF和行< rs。PageSize
响应。写“& vbCrLf
回应。write " " & vbCrLf
Response . write "☆Response . writers(" articleid ")
Response . write " " > " & vbcrlf
Response . writer " "
Response . writer " " & vbcrlf
Response . write " "
Response . writer(" click ")
Response . write " " & vbcrlf
Response . write " "
Response .]。写rs("添加日期")
Response . write " " & vbcrlf
Response . write " " & vbcrlf
Response . write " " & vbcrlf
RS . movenext
Wend
Response。写“& vbCrLf
回应。写" " & vbCrLf

rs。关闭

设置rs =无

关闭控制室

设置连接=无

出口接头


错误:

如果错误。Number = -13572468,然后退出Sub

接下来继续

End Sub

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 使用VB将ASP代码封装生成DLL文件

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情