喜欢本站并加入收藏
首 页 电脑学园 技术文档 图形图像 办公应用 网页设计 管理资料 PPT模板 方案合同
 位置: 北方教程网 >> 网页设计 >> Asp专题 >> 正文
   用VB将ASP代码封装生成DLL文件的方法
用VB将ASP代码封装生成DLL文件的方法
[ 作者:佚名   来源:网络整理   点击数:   更新时间:2007-7-6 ]

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


  实现方法

  启动你的VB,选择ActiveX图标。这个图标可以在新建工程找到!VB会提供一个默认的工程名(project1)和类名(class1)。在动手之前请首先确认我们拥有Microsoft ActiveX Data Object 2.0 Library,它在我们的程序非常有用。从菜单中选择"工程",然后在其中选择"引用",就会出现"引用"窗口,从中选择Microsoft ActiveX Data Object 2.0 Library。

  现在我们有了我们自己的工程(project1)和类名(class1)。以后我们就会在ASP代码中使用它们的名字来引用这个组件。在ASP中我们就这样引用,如下:
Set ObjReference = Server.CreateObject("ProjectName.ClassName")

  为了在类中使用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文件。在开始菜单中选择运行输入regsvr32 c:\winnt\system32\article.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 

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.Item("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 GoTo 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 

Response.Write "<html>" & vbCrLf 
Response.Write "<head>" & vbCrLf 
Response.Write "<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">" & vbCrLf 
Response.Write "<title>文章管理系统-CSSTUDIO</title>" & vbCrLf 
Response.Write "</head>" & vbCrLf 
Response.Write "<body bgcolor=""#FFFFFF"" topmargin=""0"">" & vbCrLf 
Response.Write "<table width=""100%"" border=""0"" cellpadding=""2"" cellspacing=""0"">" & vbCrLf 
Response.Write " <tr>" & vbCrLf 
Response.Write " <td width=""742"" height=""20"">文章标题</td>" & vbCrLf 
Response.Write " <td width=""90"">点击</td>" & vbCrLf 
Response.Write " <td width=""145"">添加日期</td>" & vbCrLf 
Response.Write " </tr>" & vbCrLf 
Response.Write "</table>" & vbCrLf 
While Not rs.EOF And Rows < rs.PageSize 
Response.Write "<table width=""100%"" border=""0"" cellspacing=""0"" cellpadding=""0"">" & vbCrLf 
Response.Write " <tr>" & vbCrLf 
Response.Write " <td width=""747"" height=""20"">☆<a href=""view.asp?id=" 
Response.Write rs("ArticleID") 
Response.Write """>" & vbCrLf 
Response.Write " " 
Response.Write rs("标题") 
Response.Write "</a></td>" & vbCrLf 
Response.Write " <td width=""94"">" 
Response.Write rs("点击") 
Response.Write "</td>" & vbCrLf 
Response.Write " <td width=""148"">" 
Response.Write rs("添加日期") 
Response.Write "</td>" & vbCrLf 
Response.Write " </tr>" & vbCrLf 
Response.Write "</table>" & vbCrLf 
rs.MoveNext 
Wend 
Response.Write "</body>" & vbCrLf 
Response.Write "</html>" & vbCrLf 

rs.Close 

Set rs = Nothing 

conn.Close 

Set conn = Nothing 

Exit Sub 


Err: 

If Err.Number = -13572468 Then Exit Sub 

Resume Next 

End Sub
  

[1] [2]  下一页

上一篇文章: ASP加密和解密类源代码 下一篇文章: 给文章也打上水印(防采集,防复制)
打印此文  收藏此页  关闭窗口  返回顶部
 相关文章  热点文章
 · 利用CSS改进网站设计的小技巧
 · Dreamweaver快捷操作技巧集锦
 · 使用Dreamweaver架设网站简明教程
 · 网页设计制作过程中常用的几个代码技巧
 · 高效使用CSS编码的方法
 
热点图文
教你节省Vist...
使用Windows ...
 · 远程管理Web服务器的方法技巧
 · Win Vista系统自带IIS7.0设置详解...
 · 详解Windows系统IIS6.0功能及应用...
 · 服务器集群系统实现方法及案例分...
 · IIS服务器实现asp,cgi和php+mysq...
 · IIS下SQL Server数据库安全设置技...
推 荐 阅 读
巧用Photosho...
Photoshop鼠绘...
 · Fireworks制作旋转的漂亮gif动画...
 · Photoshop制作都市满天繁星
 · Fireworks制作Menu按钮
 · 巧用Photoshop制作喜迎奥运壁纸
 · 巧用Photoshop钢笔工具绘制彩色美...
 · Photoshop制作浪漫动感花朵
 设为首页 - 加入收藏 - 关于本站 - 联系我们 - 广告合作 - 友情链接 - 在线交流 - 
CopyRight© 2006-2009 Eduai.Com All Rights Reserved
在线交流 QQ:524152258 辽ICP备07001851号
免责声明:本站部分资源来自网络,如有侵犯您的版权请通知,我们立即删除。