小问题,大隐患 ——ASP的对象释放
来源:互联网 发布:淘宝模板智能版 编辑:程序博客网 时间:2024/05/02 02:50
初步接触ASP的程序,对于对象的使用还不是很清楚,发生了一些问题,在别人的帮助下得到了纠正,在此想作为一个忠告写出来,防止自己以后再出同样的错误。如果有不对之处还希望大家多多指正。
对于ASP程序,有以下几个基本的内置对象:
Application对象,Request对象,Response对象,Server对象,Session对象,
绝大多说的ASP的操作代码都是运用这些内置对象的方法。
除了以上几个内置对象外,我们平常编写ASP的程序(涉及到数据库)都还需要用到以下几种新创建的对象:
1、数据库连接对象
一般把这种对象叫CONNECTION
创建方法
dim ProConn
set ProConn=Server.CreateObject("ADODB.CONNECTION")
使用这个CONNECTION对象打开一个Access数据库
ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=;DBQ=" & Server.MapPath("DB.mdb")
2、Recordset对象
这种对象主要用来在ASP代码中执行数据库查询的SQL语句
创建方法
dim rs
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open strSQL,ProConn,1,1
'strSQL是SQL语句的字符串
'ProConn是CONNECTION对象
'1,1是游标参数
以上两种对象是我们经常碰到的,它们在使用完毕后必须注意的就是释放这些对象。
释放的方法如下:
ProConn.close
rs.close
set ProConn=nothing
set rs=nothing
接下来要说的是引用自创的DLL时使用的对象,关于怎么封装ASP代码为DLL请参看上一篇文章.
这种对象的使用如下:
Dim ConDB
set ConDB=Server.CreateObject("ConDBDLL.Conn")
'调用ConDB的方法
ConDB.ConnectDB()
ConDB.DBPath()
'ConnectDB()和DBPath()都是这个封装DLL中自定义的方法
CreateObject("ConDBDLL.Conn")中的ConDBDLL是这个DLL的工程名,Conn是这个工程中的class
简单的一句set ConDB=Server.CreateObject("ConDBDLL.Conn")就使ConDB变成了一个自创对象。
就是这么简单的一个对象,我却忘记了在调用创建这个对象的ASP文件的其他ASP源代码文件中释放掉,致使为以后存在了巨大的隐患。
这样没有释放的对象,在这个ASP的网站多次使用后,系统就会变得其慢无比,原因都是因为没有释放这个对象。
都是自己不细心的结果。
哎………
- 小问题,大隐患 ——ASP的对象释放
- SQL注入 小问题大隐患
- images对象的释放问题
- String对象带来的隐患
- Asp.Net页面请求性能大隐患 你是否做了这样的事情
- Asp.Net页面请求性能大隐患 你是否做了这样的事情
- CDesCArray内存释放的一个小问题
- Delphi中对象释放的问题
- 线程内核对象的释放问题
- Delphi中对象释放的问题
- VC++中GDI对象的释放问题
- GDI+ 对象释放崩溃的问题
- 关于面向对象的内存释放问题
- Delphi中对象释放的问题
- ArcEngine中com对象的释放问题
- ASP.NET虚拟主机存在的重大隐患
- ASP.NET虚拟主机存在的重大隐患
- 关于Delphi释放对象资源的小建议
- Eric的数据分页(演示+代码)
- javascript的一些小技巧(转)
- Asp.Net查询MSSQL数据库的一个例子
- 歌词.....我的爱 (范玮琪)
- C#中的Generics
- 小问题,大隐患 ——ASP的对象释放
- 有关VPN连接的15项故障诊断提示
- 爱晶如梦
- 简单dll动态链接库的建立和应用
- CRM的投资回报率可能高达1000%
- CRM应用必知
- CRM应用必知之二:CRM功能“心中有谱”
- 好帖子:)
- VC和数据库工程最为全面的登陆含计算器颜色的设置等