2009-07-21 44 views
0

我已經得到了服務/應用程序連接到MSSQL Server表崩潰,以及它有時會與下面的堆棧跟蹤可怕的崩潰(?):C#數據庫應用程序保持在清潔

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) 

唉,其實,我不使用計時器,(我不知道在哪裏確切的計時器正在啓動),我不能找到這次崩潰的原因。 你有沒有經歷/你有沒有看到爲什麼發生這種情況,以及如何避免它(或忽略它?)。該服務的運行時間對我至關重要。

+0

你可以發佈你的連接字符串(清理,顯然)? – 2009-07-21 11:12:50

回答

2

您是否正在清理數據庫連接,即使用usingtry..finally

查看性能計數器類別'.Net數據提供程序的Sql Server'中的計數器,並在您的應用程序運行時使用perfmon.exe,並檢查您正在使用的連接數和池數。如果這種情況持續增長,則表明您正在泄漏可能導致此錯誤的連接。

+0

不,我不是,我連接整個服務的時間。 – nothrow 2009-07-21 10:59:40

0

該計時器可能是連接管理的內部部分。

你確定你實際上並沒有一個參數叫作一個sp的容量?

如果是這樣,你確定它永遠不會溢出?

相關問題