【问题标题】:Wcf with firebird, Transactions CriticalWcf 与 firebird,事务严重
【发布时间】:2017-03-21 09:52:53
【问题描述】:

我的应用程序上有以下代码:

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();
        }

这段代码大部分时间都可以正常工作。但是如果我尝试非常快地调用该方法,我会得到这个错误:

'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' 货物。 El módulo se compiló sin símbolos。 System.Transactions 严重:0:http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/UnhandledExcepción no controlada/LM/W3SVC/2/ROOT-1-131345628091236018 System.NullReferenceException,mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089Referencia a objeto no estableciacida非物 en FirebirdSql.Data.FirebirdClient.FbCommand.RollbackImplicitTransaction() en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linea 784 en FirebirdSql.Data.FirebirdClient.FbCommand.Release() en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linea 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:linea 376 zh System.ComponentModel.Component.Finalize()System.NullReferenceException: 参考对象没有 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:linea 784 en FirebirdSql.Data.FirebirdClient.FbCommand.Release() en C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linea 824 zh FirebirdSql.Data.FirebirdClient.FbCommand.Dispose(布尔处理) zh C:\Users\Jiri\Documents\devel\NETProvider\working\Provider\src\FirebirdSql.Data.FirebirdClient\FirebirdClient\FbCommand.cs:linea 376 zh System.ComponentModel.Component.Finalize()

此错误随机出现。有时在第 2 次通话中,有时在第 10 次通话中

【问题讨论】:

  • 您使用哪个版本的 Firebird ADO.net 提供程序,“但是如果我尝试非常快速地调用该方法”是什么意思
  • 我不知道版本,因为这是我的业务发送给我的 dll。我调用这个方法的速度非常快。我可以看到它是一个 dll 存档,而不是一个 nuget 包,也许有问题?

标签: c# wcf connection firebird


【解决方案1】:

这是一个已知问题,已修复。更新到最新版本的FirebirdClient,你应该会很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多