Наше приложение следует подходу к поддержанию DataContext для каждого потока / HttpContext, используя класс DataContextFactory, описанный Риком Стрэлом в его блоге , включая поправку к ключу, упомянутую Ричардом (использование type.AssemblyQualifiedName ).
Решение выглядело здравым (хотя в большинстве случаев другой подход может быть лучше), однако при использовании этого я видел периодические ошибки, появляющиеся в приложении:
ExecuteReader требует открытого и
Доступное соединение. Связь
текущее состояние закрыто.
Я получаю доступ к текстовому тексту через код, используя свойство ниже, которое является частью класса моего DataContext:
/// <summary>
/// Returns the current datacontext for the thread or HttpContext, creating one if it does not exist.
/// </summary>
public static SharedDataContext Current
{
get
{
return DataContextFactory.GetScopedDataContext<SharedDataContext>();
}
}
Находясь в прерывистом положении, мне трудно придавить это. Кто-нибудь знает, что я могу делать неправильно, или есть хорошая идея, как я могу отладить эту проблему?
Обратите внимание, что это может быть дубликатом неотвеченного вопроса здесь