【发布时间】:2014-11-01 17:03:33
【问题描述】:
我没有在 Web 应用程序中使用 LINQ-to-SQL 或实体框架位,并且目前一直在使用这样的东西(这是针对类项目):
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:问题是一次可以服务多个用户,并且连接有时会混淆并导致查询失败,因为不同的线程仍在读取前一个查询的结果.
标签: c# asp.net-mvc-3