2017-03-21 6 views
0

Ich habe den folgenden Code auf meiner App:Wcf mit Feuervogel, Transaktionen Critical

using (var dBconn = new FbConnection(str_conexion_Pymesoft)) 
     using (FbCommand fb = new FbCommand(sql, dBconn)) 
     try 
     { 
      dBconn.Open(); 
      List<DBParteTrabajoProyecto> miDBParteTrabajoReparacion = new List<DBParteTrabajoProyecto>(); 
      var reader = fb.ExecuteReader(); 
      while (reader.Read()) 
      { 
       doStuff... 
      } 
     } 
     catch(Exception ex) 
     { 
      Log.WriteLine(""+ex); 
     } 
     finally 
     { 
      dBconn.Close(); 
      dBconn.Dispose(); 
     } 

Dieser Code die meiste Zeit funktioniert. Aber wenn ich versuche, die Methode sehr schnell anzurufen, habe ich diesen Fehler:

'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/2/ROOT-1-131345628091236018): 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_es_b77a5c561934e089\System.Transactions.resources.dll' cargado. El módulo se compiló sin símbolos. System.Transactions Critical: 0 : http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled Excepción no controlada/LM/W3SVC/2/ROOT-1-131345628091236018 System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Referencia a objeto no establecida como instancia de un objeto en FirebirdSql.Data.FirebirdClient.FbCommand.RollbackImplicitTransaction() en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:línea 784 en FirebirdSql.Data.FirebirdClient.FbCommand.Release() en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:línea 824 en FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(Boolean disposing) en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:línea 376 en System.ComponentModel.Component.Finalize()System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto. en FirebirdSql.Data.FirebirdClient.FbCommand.RollbackImplicitTransaction() en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:línea 784 en FirebirdSql.Data.FirebirdClient.FbCommand.Release() en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:línea 824 en FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(Boolean disposing) en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:línea 376 en System.ComponentModel.Component.Finalize()

Dieser Fehler erscheint zufällig. Manchmal im 2. Anruf, manchmal im 10. Anruf

+0

Welche Version des Firebird ADO.net Providers verwenden Sie, und was meinen Sie mit _ "Aber wenn ich versuche, die Methode sehr schnell aufzurufen" _? –

+0

Ich kann die Version nicht kennen, weil eine DLL mein Geschäft an mich sendet. Ich rufe den Service sehr schnell an und rufe diese Methode an. Ich kann sein DLL-Archiv sehen, kein Nuget-Paket, vielleicht gibt es das Problem? – Efeyabel

Antwort

1

Dies ist ein bekanntes Problem, das bereits behoben wurde. Update auf die neueste Version von FirebirdClient und Sie sollten gut sein.