2012-01-10 70 views
0

我已经开始使用ASP .NET MVC 3框架开发一个完整的Web应用程序。 我是一名MVC 3初级开发者。ASP .NET Application_Start Event +连接到数据库

在服务器端,我将执行一些查询到数据库。 因此,我将不得不建立与数据库的连接。

我想知道是否最好在每个操作方法的开始或事件处理程序中进行连接。 我曾想过在Application_Start事件处理程序中建立连接,然后将表示我的连接的对象存储到应用程序状态中。 这种方式是否存在缺点?

预先感谢你的未来的答案

+0

它不起作用:数据库连接不是线程安全的。 – Joe 2012-01-10 09:07:39

回答

1

打开和关闭连接的要求(而不是保持一个开放)。让连接池为您工作。

10 Tips for Writing High-Performance Web Applications(ASP.NET,但包含相关建议):

提示3 - 连接池

设置您的Web应用程序和SQL之间的TCP连接 服务器™可以是一个昂贵操作。微软的开发人员 现在能够利用连接池, 允许他们重新使用连接到数据库。在每个请求上建立一个新的TCP连接,而不是 ,只有在连接池中不存在连接时,才会建立一个新连接 。当 连接关闭时,它将返回到连接到数据库的连接池 ,而不是完全断开该连接的 连接。