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

Sna*_*yes 1 c# asp.net asp.net-mvc-3

事件global.asax包括:

在此输入图像描述

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

我想用:

  protected void Application_End( object sender, EventArgs e ) {
     // close database connection
  }
Run Code Online (Sandbox Code Playgroud)

  protected void Application_EndRequest( object sender, EventArgs e ) {
     // close database connection
  }
Run Code Online (Sandbox Code Playgroud)

以上两种方法中的哪一种是关闭数据库连接的好选择?

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

Ode*_*ded 6

管理连接是个好主意global.asax

这是一个糟糕的主意.

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

您应该关闭它们打开的连接,最佳做法是使用using声明来确保正确处置:

using(var con = new Connection("my connection string"))
{
}
Run Code Online (Sandbox Code Playgroud)