Приложение C # db продолжает сбой при очистке таблиц (?) - PullRequest
0 голосов
/ 21 июля 2009

У меня есть служба / приложение, подключенное к серверу mssql, и иногда оно ужасно падает со следующей трассировкой стека:

Uncaught exception: ArgumentOutOfRangeException - Specified argument was out of the range of valid values.
Parameter name: capacity, thrown at: mscorlib
Stack Trace:
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument)
   at System.Collections.Generic.Dictionary`2..ctor(Int32 capacity, IEqualityComparer`1 comparer)
   at System.Data.ProviderBase.DbConnectionFactory.PruneConnectionPoolGroups(Object state)
   at System.Threading._TimerCallback.TimerCallback_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading._TimerCallback.PerformTimerCallback(Object state)

Ну, на самом деле, я не использую таймер (и я не уверен, ГДЕ точно запускается таймер), и я не могу найти причину этого сбоя. Есть ли у вас какой-либо опыт / вы видели, почему именно это происходит, и как этого избежать (или игнорировать?). Время работы службы имеет для меня решающее значение.

Ответы [ 2 ]

2 голосов
/ 21 июля 2009

Правильно ли вы очищаете соединения с базой данных, т. Е. Используете using или try..finally?

Посмотрите счетчики в категории счетчиков производительности '.Net Data Provider for Sql Server' с perfmon.exe, когда ваше приложение работает, и проверьте количество подключений и пулов, которые вы используете. Если этот показатель продолжает расти, это хороший признак того, что вы теряете соединения, которые могут привести к этой ошибке.

0 голосов
/ 21 июля 2009

этот таймер, вероятно, является внутренней частью управления соединением.

Вы уверены, что на самом деле у вас нет параметра, называемого вместимостью, на одном из SP?

Если это так, вы уверены, что он никогда не переполняется?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...