Я не использую биты LINQ-to-SQL или Entity Framework в веб-приложении и в настоящее время использую что-то вроде этого (это для проекта класса):
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();
}
}
}
Однако, похоже, это вызывает проблемы с многопоточностью, поскольку статический инициализатор запускается один раз для каждого процесса на сервере, а не один раз для каждого запроса.
Предоставляет ли фреймворк встроенный метод обработки этого или я просто должен иметь функцию, которая каждый раз выкашивает соединения с базой данных, новые?