c# - 在ASP.NET MVC 3中关闭应用程序时,在global.asax中调用的正确方法是什么?

标签 c# asp.net asp.net-mvc-3

global.asax中的事件是:



那好吧。我想在应用程序停止时关闭与数据库的连接。我使用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中管理连接是一个好主意?

最佳答案

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


这是一个可怕的想法。

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

您应该在打开连接的地方关闭它们,最佳实践是使用using语句来确保正确处理:

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

关于c# - 在ASP.NET MVC 3中关闭应用程序时,在global.asax中调用的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11827286/

相关文章:

c# - 如何在没有回发或更新面板的情况下获取 DropdownList 的 SelectedValue

c# - Rhino Mocks 中没有参数且没有返回值的模拟方法调用

asp.net-mvc-3 - 在 Mvc3 中在图像上显示工具提示

c# - 为什么 graphql-dotnet 会为此模式返回 "Expected non-null value"错误?

c# - 将动态转换为特定类型

c# - 识别重复数据,并根据新的用户输入重新搜索数据库

javascript - mvc3 验证输入 'not-equal-to'

c# - 检查 HttpHostedFileBase 中的文件名是文件名还是文件路径

asp.net - WPAD 查询从 ASP.NET 调用 Web 服务

ASP.NET MVC3 : custom [authorise] attribute