0

这可能是一个愚蠢的问题。假设我有 20 个将在回发后关闭的事件处理程序。我想在事件开始之前打开与数据库的连接,然后在事件结束后立即关闭它。我应该将我的打开和关闭语句放在我的网络表单中的什么位置?

4

2 回答 2

2

Page_Load事件在页面生命周期中的事件之后引发。所以你可以在那里打开它并关闭它Page_PreRender

但实际上我建议完全避免打开连接。无法重用打开的连接。因此,您应该始终在使用过的地方尽快关闭连接,最好使用using-statement.

于 2012-09-25T21:57:28.790 回答
1

您需要了解ASP.NET 页面生命周期

回发事件发生在LoadLoacComplete页面的事件之间,因此如果你想保证连接是打开的,你可以在Load(或之前)事件中打开它,并在LoadComplete事件中(或之后)关闭它

但是,如果发生错误,则可能LoadComplete不会调用该事件。

使用using语句处理数据库连接是一种更好的方法:

using(var cn = new SqlConnection(".."))
{
   cn.open();
   // here your database code
}

快速浏览:

在此处输入图像描述

于 2012-09-25T21:56:43.067 回答