У меня очень простой запрос к базе данных на 400 записей, однако, если я выполняю этот запрос в многопоточной среде, он мгновенно истекает, если я запрашиваю его один за другим, он отлично работает.
Я не делал ничего особенного для строки подключения, сервер SQL работает локально.
Каждый поток создает свой собственный контекст и выполняет запрос в блоке using
.
Первый тайм-аутзанимает около 15 секунд, а затем мгновенное время ожидания следующих запросов.
Я пытался изменить время ожидания для CommandTimeout, но не сработало, и мгновенное время ожидания выглядит подозрительным, я думаю, что mgiht было бы хорошо, чтобы выкопать его дальше.
Запрос просто совпадает по entity.Id.Кажется, это не имеет ничего общего с самим запросом, так как я несколько раз менял запрос, чтобы делать разные вещи.
Исключение говорит:
10/10 / 2011 3:52:16:00 T026 D Исключение - при открытии произошел сбой основного поставщика.
10/10 / 2011 3:52:16 вечера T026 D Внутреннее сообщение об исключении - истекло время ожидания.Время ожидания истекло до завершения операции, или сервер не отвечает.
10/10/2011 3:52:16 вечера T026 D в System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf (Boolean openCondition,DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String предпринято1 forMergeOption) в System.Data.Objects.ObjectQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable
1 source) в System.Data.Objects.ELinq.ObjectQueryProvider.b__2 [TResult] (IEnumerable 1 sequence)
at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable
1, запрос Expression queryRoot) в System.Data.Objects.CompiledQuery.ExecuteQuery [TResult] (контекст ObjectContext, Object [] parameterValues) в System.Data.Objects.CompiledQuery.Invoke [TArg0, TArg1, TResult] (TArg0 arg0, TArg1 arg1)
имеет любойТело переживало то же самое или знаю ответ почему мгновенноТайм-аут?
Заранее спасибо.