response.redirect 后面的关闭清空连接代码会不会被执行?需不需要在转向前先关闭清空连接?

来源:百度知道 编辑:UC知道 时间:2024/06/08 14:48:32
有一个新问题,IIS提示用户太多,非得重启不可以搞定,查了半天资料都说是页面连接没有正常关闭,我就有疑问了,当我在一个页面开头引用数据库连接文件,在页面尾部关闭清空连接,但是在页面中间使用response.redirect方法将页面转至其它页面时,后面的关闭,清空代码会不会被执行?需不需要在转向前先关闭清空连接?
我想要知道一个确定的答案,如这样一段代码:

<!--#include file="conn.asp"--> '引用数据库连接文件
<!--#include file="sub.asp"--> '引用自定义子程序函数文件
<%
call new_(rs) '建立recordset对象
sql="select * from tabel"
rs.open sql,conn,1,1
if rs.eof then
response.redirect("a.asp")
else
response.redirect ("b.asp")
end if
call close_(rs) '关闭清空recordset对象
call close_(conn) '关闭清空conn连接
%>
===========
这段代码做一个判断,无记录跳转到a.asp,有记录跳转到b.asp,但关闭清空代码在最后,能不能起作用?需不需要写成这样:
===========
<!--#include file="conn.asp"--> '引用数据库连接文件
<!--#include file="sub.asp"--> '引用自定义子程序函数文件
<%
call new_(rs) '建立recordset对象
sql="select * from tabel"

Response.Redirect 之后的 代码是不会执行的。

你应该在 不需要数据库操作的时候,及时关闭数据库。

还有,你的IIS提示连接数过多, 并不是 数据库连接太多, 而是 你的 IIS 本身连接数太多 , 你的应该是 XP 吧, XP 的IIS 有10个链接数 限制。

页面中间使用response.redirect方法,应该在 数据库关闭之后,否者你先跳转了 就执行不到数据库CLOSE那句代码了。 所以你的数据库一直是开在那里。

写这种动态页面中,涉及到如数据库,文件操作时最好作到一开一操作一关,就是,打开数据库(文件),执行一次操作事务,立即关闭数据库

页面退出时,iis会自动回收资源...
后面的代码应该不会执行,因为asp是解释执行的,也就是一行一行的执行的