【发布时间】:2010-09-02 15:51:20
【问题描述】:
我有 BasePage.cs 类,它被其他 .cs 文件使用,而不是 System.Web.UI.Page(公共部分类页面:BasePage)。
我用它来打开和关闭 SQL 连接,以确保每个 SQL 连接都被关闭。
代码如下所示
{
public class BasePage: System.Web.UI.Page
{
public SqlConnection globalConnection;
protected override void OnInit(EventArgs e)
{
globalConnection = new SqlConnection();
globalConnection.ConnectionString = ConfigurationManager.ConnectionStrings["kontemiConnectionString"].ToString();
globalConnection.Open();
}
protected override void OnUnload(EventArgs e)
{
if (globalConnection != null)
{
globalConnection.Close();
}
}
}
}
到目前为止,它对我来说效果很好。这意味着每次打开连接时,它也会关闭。或者至少我是这么认为的。
我的问题是这个解决方案是否是防弹的,并且每个连接都会关闭,以防在代码执行期间出现一些处理错误。在跟踪此代码时,如果我故意创建错误 500,它总是会转到 OnUnload 事件并被关闭。
那么,你认为这种处决安全吗? (为了停止讨论是否应该在我真正需要的时候打开 SQL,答案是每个使用 BasePage 的页面也会打开一个 SQL 连接。)
【问题讨论】:
标签: sql class connection