2015-06-24 41 views
0

使用Oracle查詢通知和ODP.Net調試一個Web應用程序時,我已經得到一個奇怪的錯誤Oracle.ManagedDataAccess.dll中的錯誤:Item已被添加。鍵入詞典:'4118'鍵被添加:'4118'?

我得到的例外是:

Item has already been added. Key in dictionary: '4118' Key being added: '4118' 

調用堆棧如下:

Oracle.ManagedDataAccess.dll!OracleInternal.ServiceObjects.NotificationBufferManager.PutNotificationOraBufPool(OracleInternal.Network.OracleCommunication orclCommunication) 
Oracle.ManagedDataAccess.dll!OracleInternal.ServiceObjects.NotificationHandler.ProcessBufferedNSDataPackets() 
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) 
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) 
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) 
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) 
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() 
[Native to Managed Transition] 

有沒有人有任何想法是什麼原因造成這種情況?

+0

您是否使用3天前發佈的新版本?如果沒有,你可以在這裏得到它:https://www.nuget.org/packages/Oracle.ManagedDataAccess – cremor

+0

這看起來不像一個Oracle錯誤。它是否帶有oracle錯誤號?如果不是Oracle錯誤,您可能需要查看拋出該錯誤以瞭解邏輯的代碼。如果是Oracle錯誤,請提供整個事件,包括錯誤編號和內部異常。 –

回答

0

該錯誤試圖告訴你什麼是錯的...一個Key正被添加到Dictionary已經包含Key。需要檢查一個鍵是否先存在,然後應該改變該值,而不是試圖用相同的鍵重新添加另一個值。

+1

我無法控制要添加到的任何字典。在處理查詢通知的過程中,我的代碼被拋出了異常。 – CWilson

相關問題