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

上传人:ji****72 文档编号:37573692 上传时间:2018-04-18 格式:DOC 页数:6 大小:37.50KB
返回 下载 相关 举报
使用VB将ASP代码封装生成DLL文件_第1页
第1页 / 共6页
使用VB将ASP代码封装生成DLL文件_第2页
第2页 / 共6页
使用VB将ASP代码封装生成DLL文件_第3页
第3页 / 共6页
使用VB将ASP代码封装生成DLL文件_第4页
第4页 / 共6页
使用VB将ASP代码封装生成DLL文件_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《使用VB将ASP代码封装生成DLL文件》由会员分享,可在线阅读,更多相关《使用VB将ASP代码封装生成DLL文件(6页珍藏版)》请在金锄头文库上搜索。

1、使用使用 VB 将将 ASP 代码封装生成代码封装生成 DLL 文件文件一、引言Server 端的脚本运行环境,它简单易用,不需要编译和连接,脚本可以在 Server 端直接运行,并且它支持多用户、多线程,在 Web 开发中得到了广泛的 应用。服务器端的组件有别于客户端的组件。客户端的组件是通过网络传输,依 靠 HTML 来起作用,而且只能在 IE 上有用。但是服务器端的组件是运行在服务 器端,它在服务器上执行各种操作。因此,所有的浏览器都能享用,它依靠的是 服务器而不是浏览器。但是,因为 ASP 脚本是纯文本格式,所以恶意者通过源 代码可以很容易地看到原本不该看到的页面内容。因此,保护 AS

2、P 源代码显得 非常重要。将 ASP 代码封装成 DLL,不仅加快了 ASP 代码的执行速度,而且也能 保护原代码。当 IIS 被请求执行一个 ASP 程序,它首先会在 ASP 文件中找到标签 之间的代码,并且执行它(也可以是之间的代码)。如果这个 ASP 程序在先前被调 用过,那么它就会用内存中的编译过的程序来向用户返回 HTML 代码,如果没有, 那么它就重新编译。这样就大大节省了服务器的资源。二、实现方法启动你的 VB,选择 ActiveX 图标。这个图标可以在新建工程找到!VB 会提供 一个默认的工程名(project1)和类名(class1)。在动手之前请首先确认我们拥 有 Micr

3、osoft ActiveX Data Object 2.0 Library,它在我们的程序非常有用。 从菜单中选择“工程“,然后在其中选择“引用“,就会出现“引用“窗口,从中选择 Microsoft ActiveX Data Object 2.0 Library。现在我们有了我们自己的工程(project1)和类名(class1)。以后我们就会 在 ASP 代码中使用它们的名字来引用这个组件。在 ASP 中我们就这样引用,如下: Set ObjReference = Server.CreateObject(“ProjectName.ClassName“)为了在类中使用 ASP 的方法,你必须在

4、此类中写上初始和终止这两个函数。 输入如下代码:程序清单中 Class1.cls 中的 Private Sub Class_Initialize()和 Private Sub Class_Terminate()将 ASP 代码中的关键功能制作成动态链接库(.dll),部分隐藏 ASP 源代码。例如:程序清单中的 Global.bas 和 Class1.cls 中输入的代码(代码的主要功 能是检索数据库中的记录并显示出来)。在 VB 的下拉菜单中选择文件生成 article.dll选择要保存的目录。找 到 article.dll 将其复制到系统盘 system32 文件夹中,最后一步注册 DLL

5、 文件。 在开始菜单中选择运行输入 regsvr32 c:winntsystem32article.dll。三、程序清单Global.bas 中的代码:以下是引用片段:以下是引用片段: Public objContext As ObjectContext Public Application As ASPTypeLibrary.Application Public Server As ASPTypeLibrary.Server Public Session As ASPTypeLibrary.Session Public Response As ASPTypeLibrary.Response

6、Public Request As ASPTypeLibrary.Request Class1.cls 中的代码: Private Sub Class_Initialize() On Error Resume Next Set objContext = GetObjectContext Set Application = objContext.Item(“Application“) Set Server = objContext.Item(“Server“) Set Session = objContext.Item(“Session“) Set Request = objContext.It

7、em(“Request“) Set Response = objContext.Item(“Response“) End Sub Private Sub Class_Terminate() On Error Resume Next Set Application = Nothing Set Server = Nothing Set Session = Nothing Set Request = Nothing Set Response = Nothing Set objContext = Nothing End Sub Public Sub AspClassInit() On Error Go

8、To Err Set conn = Server.CreateObject(“ADODB.Connection“) strcon = “Provider=Microsoft.Jet.OLEDB.4.0;“ & _ “Data Source=“ & Server.MapPath(“Article.mdb“) conn.Open strcon Set rs = Server.CreateObject(“ADODB.Recordset“) sql = “select * from Article order by ArticleID desc“ rs.Open sql, conn, 1, 1 Res

9、ponse.Write “ & vbCrLf Response.Write “ & vbCrLf Response.Write “ & vbCrLf Response.Write “文章管理系统-CSSTUDIO“ & vbCrLf Response.Write “ & vbCrLf Response.Write “ & vbCrLf Response.Write “ & vbCrLf Response.Write “ “ & vbCrLf Response.Write “ 文章标题“ & vbCrLf Response.Write “ 点击“ & vbCrLf Response.Write

10、“ 添加日期“ & vbCrLf Response.Write “ “ & vbCrLf Response.Write “ & vbCrLf While Not rs.EOF And Rows “ & vbCrLf Response.Write “ “ & vbCrLf Response.Write “ “ & vbCrLf Response.Write “ “ Response.Write rs(“标题“) Response.Write “ & vbCrLf Response.Write “ “ Response.Write rs(“点击“) Response.Write “ & vbCrL

11、f Response.Write “ “ Response.Write rs(“添加日期“) Response.Write “ & vbCrLf Response.Write “ “ & vbCrLf Response.Write “ & vbCrLf rs.MoveNext Wend Response.Write “ & vbCrLf Response.Write “ & vbCrLf rs.Close Set rs = Nothing conn.Close Set conn = Nothing Exit Sub Err: If Err.Number = -13572468 Then Exi

12、t Sub Resume Next End Sub使用 article.dll 后的 index.asp 中的代码:以下是引用片段:以下是引用片段:使用 article.dll 前的 index.asp 中的代码:以下是引用片段:以下是引用片段:文章管理系统-CSSTUDIO 文章标题 点击 添加日期 “ 四、结论因为这些代码是在服务器端运行的,所以客户端不需要安装任何东西。这 仅仅是用 ActiveX DLL 所能实现的功能的小小的例子。你们可以写好自己的更 大的组件,而且还可以用 VB 中的很多控件。让我们用组件来扩展我们的程序的 功能吧!也希望多多的看到我们中国人的组件。但愿本文能起到抛砖引玉的作用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号