tôi không sử dụng LINQ-to-SQL hoặc Entity Framework bit trong một ứng dụng web, và vẫn đang được sử dụng một cái gì đó như thế này (đây là cho một dự án lớp):Làm thế nào để duy trì kết nối cơ sở dữ liệu trong ứng dụng 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();
}
}
}
Tuy nhiên điều này dường như gây ra vấn đề luồng vì trình khởi tạo tĩnh chạy một lần cho mỗi quá trình máy chủ, thay vì một lần cho mỗi yêu cầu.
Khung làm việc có cung cấp phương thức xử lý được tích hợp này hay tôi chỉ nên có một chức năng làm tăng các kết nối cơ sở dữ liệu mới mỗi lần?
@TomasVoracek: Vấn đề là có thể có nhiều người dùng được phân phối cùng một lúc và kết nối đôi khi bị nhầm lẫn và không truy vấn được do một chuỗi khác vẫn đang đọc kết quả từ truy vấn trước đó. –