2012-08-06 47 views
1

global.asax的事件有:在asp.net mvc 3中关闭应用程序时,在global.asax中调用的正确方法是什么?

enter image description here

那么好。我想在应用程序停止时关闭与数据库的连接。我用MSSQL Server 2005的

我想用:

protected void Application_End(object sender, EventArgs e) { 
    // close database connection 
    } 

protected void Application_EndRequest(object sender, EventArgs e) { 
    // close database connection 
    } 

什么两种以上的方法之一是不错的选择,关闭连接到数据库?

或者在global.asax中管理连接是个好主意?

+4

如果你有应用程序的生命周期中打开的连接,你做错了什么管理。你打开连接怎么样? – Oded 2012-08-06 11:23:29

回答

6

管理global.asax中的连接是个好主意吗?

这是一个可怕的想法。

连接是昂贵的资源,只应尽可能短地使用和打开。通常,连接池是用于确保数据库响应的机制。

你应该关闭在那里他们被打开的连接,最好的做法是使用using声明,以确保妥善处置:

using(var con = new Connection("my connection string")) 
{ 
} 
+0

我用''使用''关键字。我想到了上面的想法。这个可怕的想法:))。感谢您的解释。 – 2012-08-06 11:27:15

3

也不是个不错的选择海事组织。

或者在global.asax中管理连接是个好主意?

号连接由Connection Pool

相关问题