ASP.net最佳实践 - 我从哪里连接到数据库?

Tom*_*len 2 c# asp.net database-connection

cn = new SqlConnection(
         ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString());
cn.Open();
Run Code Online (Sandbox Code Playgroud)

假设我有内容页面和母版页,这段代码应该放在哪里?

我应该把它放在母版页中Page_Init吗?那么在我的内容页面上的每个执行阶段都可以完全访问它吗?

我已经习惯了经典的ASP,所以我通常会这样做:

Declare variables

Open connection

process code

Close connection

Render HTML
Run Code Online (Sandbox Code Playgroud)

但是.net中有很多阶段的页面生命周期,所以我想知道放置这段代码的最佳位置是什么?

这个连接是否需要关闭,还是垃圾处理会为我处理?

sta*_*k72 6

对我来说,id创建一个DataAccess层,以便我可以删除代码隐藏文件中的数据库连接.然后我的webapp将引用Dal并公开一个允许来自前端的Dal交互的公共方法

在打开和关闭Dal连接方面 - 将其包装在using语句中 - 在需要时负责打开和关闭连接.

有关这方面的更多信息,请访问此处 - http://davidhayden.com/blog/dave/archive/2005/01/13/773.aspx