我不使用LINQ到SQL或實體框架位在一個Web應用程序,並且當前已經使用這樣的事情(這是一類項目):如何在ASP.NET MVC應用程序中維護數據庫連接?
using System.Data;
using System.Data.SqlClient;
namespace StackOverflowClone.Models
{
public class Database
{
public static SqlConnection ActiveConnection { get; private set; }
static Database()
{
ActiveConnection = new SqlConnection(
"Data Source=********.database.windows.net;" +
"Initial Catalog=EECS341;Uid=*****;Pwd=*******;" +
"MultipleActiveResultSets=True;");
ActiveConnection.Open();
}
}
}
然而,這似乎引起線程問題,因爲靜態初始化器每個服務器進程運行一次,而不是每個請求一次。
該框架是否提供了一種內置的方法來處理這個問題,還是應該每次都有一個新的數據庫連接?
@TomasVoracek:問題是一次可能有多個用戶在服務,並且連接偶爾會感到困惑並且無法查詢,因爲不同的線程仍在讀取先前查詢的結果。 – 2012-03-21 20:04:45