Тайм -ауты предприятияC#

Место общения программистов C#
Anonymous
Тайм -ауты предприятия

Сообщение Anonymous »

Я получаю тайм -ауты, используя структуру объекта (EF) при использовании импорта функции, который занимает более 30 секунд. Я попробовал следующее и не смог решить эту проблему: < /p>

Я добавил время -аут команды по умолчанию = 300000 < /code> в строку подключения в файле app.config < /em> в проекте, который имеет файл EDMX, как предложено здесь. class = "lang-xml prettyprint-override">

Код: Выделить всё

< /code>

Я попытался установить CommandTimeout в моем репозитории напрямую как SO: < /p>

private TrekEntities context = new TrekEntities();

public IEnumerable GetKirksFriends()
{
this.context.CommandTimeout = 180;
return this.context.GetKirksFriends();
}
< /code>

Что еще я могу сделать, чтобы получить EF от времени? Это происходит только для очень больших наборов данных. Все работает нормально с небольшими наборами данных. Смотрите внутреннее исключение для деталей. ---> System.Data.sqlclient.sqlexception: Тайм-аут истек.  Период времени ожидания, прошедший до завершения операции, или сервер не реагирует. У меня была как строка подключения с временем аутсаума по умолчанию = 300000 
, и CommandTimeout устанавливается на 180. Когда я снял тайм -аут команды по умолчанию из строки подключения, это сработало. Таким образом, ответ состоит в том, чтобы вручную установить командное время в вашем репозитории в вашем контекстном объекте как SO: < /p>

this.context.CommandTimeout = 180;
< /code>

Очевидно, настройка настроек тайм -аута в строке подключения не влияет на него. < /p>

Подробнее здесь: https://stackoverflow.com/questions/623 ... k-timeouts

Вернуться в «C#»