这可能是一个愚蠢的问题。假设我有 20 个将在回发后关闭的事件处理程序。我想在事件开始之前打开与数据库的连接,然后在事件结束后立即关闭它。我应该将我的打开和关闭语句放在我的网络表单中的什么位置?
问问题
59 次
2 回答
2
Page_Load
事件在页面生命周期中的事件之后引发。所以你可以在那里打开它并关闭它Page_PreRender
。
但实际上我建议完全避免打开连接。无法重用打开的连接。因此,您应该始终在使用过的地方尽快关闭连接,最好使用using-statement
.
于 2012-09-25T21:57:28.790 回答
1
您需要了解ASP.NET 页面生命周期
回发事件发生在Load
和LoacComplete
页面的事件之间,因此如果你想保证连接是打开的,你可以在Load
(或之前)事件中打开它,并在LoadComplete
事件中(或之后)关闭它
但是,如果发生错误,则可能LoadComplete
不会调用该事件。
使用using
语句处理数据库连接是一种更好的方法:
using(var cn = new SqlConnection(".."))
{
cn.open();
// here your database code
}
快速浏览:
于 2012-09-25T21:56:43.067 回答