在不关闭经典asp中的记录集时会发生什么?

时间:2009-10-22 15:47:35

标签: asp-classic database-connection

在工作中的遗留应用程序中,我看到许多页面上没有分散的记录集。

  • 这有什么后果?
  • 连接会自动关闭吗?
  • 是否在每个请求结束时释放资源?

更新

TXN!

3 个答案:

答案 0 :(得分:3)

关闭记录集不会关闭连接

http://www.devguru.com/technologies/ado/QuickRef/recordset_close.html

您应该始终尽快关闭连接,然后将它们释放回连接池。

泄漏连接的系统将减速并逐渐停止运行。

答案 1 :(得分:2)

  
      
  • 这有什么后果?
  •   

资源不会被快速释放,并且取决于代码的其余部分性能将受到影响。

  
      
  • 连接会自动关闭吗?
  •   
  • 是否在每个请求结束时释放资源?
  •   

在页面执行结束时,所有连接都将终止并释放所有资源。有些人认为,由于这种情况发生,因此无需担心明确关闭连接和/或释放资源。

在所有条件都相同的情况下,依赖于此并不是一件值得鼓励的事情,因为你永远不会知道事情会在繁忙的交通中发挥作用 - 这就是为什么所有优秀的教程/教师都会告诉你只在你需要的时候打开,一旦你完成就会释放。

答案 2 :(得分:1)

如果你不关闭它,你会有内存泄漏,这可能会很快耗尽你的资源。 IIS最终将为您清理资源,但它不是非常可靠。显式关闭记录集然后将其设置为空以释放资源更安全,更可靠。还要确保关闭连接并将其设置为空。