我有一個使用產生了許多的工作線程執行某些任務,如C#多線程控制檯運行時錯誤
- 通過SNMP從我們內網多臺服務器讀取OS數據一parallel.foreach一個控制檯應用程序和
- 將這些值寫入SQL服務器數據庫。
當我在調試或發佈模式下運行Visual Studio 2010中的代碼時,程序無例外地執行。當我部署程序並在VS之外運行時,我得到一個異常(.NET Runtime Exceptiopn)。
堆棧跟蹤:
應用:ServerMonitorSNMP.exe Framework版本:v4.0.30319說明:該過程由於未處理的異常終止。異常信息:System.AggregateException堆棧:在System.Threading.Tasks.Parallel.ForWorker [[System .__ Canon,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]](Int32,Int32,System.Threading。 Tasks.ParallelOptions,System.Action`1,
...
在ServerMonitoringSNMP.Program.Main(System.String [])
的AggregateException細節爲:
System.UnhandledExceptionEventArgs System.AggregateException:發生一個或多個錯誤。 ---> System.InvalidOperationException:超時過期。在從池中獲取連接之前已超時。發生這種情況的原因可能是因爲所有連接池都在使用中,並且達到最大池大小。
...
(內部異常#0)System.InvalidOperationException:超時過期。在從池中獲取連接之前已超時。發生這種情況的原因可能是因爲所有連接池都在使用中,並且達到最大池大小。
...
(內部異常#1)System.InvalidOperationException:超時過期。在從池中獲取連接之前已超時。發生這種情況的原因可能是因爲所有連接池都在使用中,並且達到最大池大小。
...
(內部異常#2)System.InvalidOperationException:超時過期。在從池中獲取連接之前已超時。發生這種情況的原因可能是因爲所有連接池都在使用中,並且達到最大池大小。
...
System.AggregateException:發生了一個或多個錯誤。 ---> System.NullReferenceException:未將對象引用設置爲對象的實例。 \ Program中的ServerMonitoringSNMP.Program.GetStorageValue(Dictionary`2 StorageQuery,Int32 diskOidIndex)中的 。cs:line 896
捕獲異常並記錄它的地方,看看有什麼地方錯了? – nvoigt