如何创建事务并传递给多个类和方法

时间:2017-07-07 08:45:05

标签: c# sql asp.net sql-server

我有一个wcf Web服务,它会在每次来自客户端的调用时实例化。

webservice为每个客户创建一个事务,如下所示:

false

创建事务函数如下所示:

coreDb = new CoreDb(PROJECT.CreateTransaction(), new FactorySqlCommand());

SQL命令工厂实现如下所示

public static SqlTransaction CreateTransaction(this ICoreProject coreProj)
        {
            SqlConnection conn = new SqlConnection(coreProj.dbStr);
            conn.Open();
            return conn.BeginTransaction();
        }

当我尝试在数据库函数中使用以下对象时:

public SqlCommand SqlCommand(string query,
        SqlTransaction transaction)
    {
        SqlCommand sql_command = new SqlCommand(query, transaction.Connection, transaction);
        sql_command.Transaction = transaction;
        sql_command.Connection = transaction.Connection;
        return sql_command;
    }

我收到一个奇怪的错误

  

连接断开,无法恢复。连接   由服务器标记为不可恢复。没有尝试过   恢复连接。

我的问题是为read& amp;实例化事务的正确方法是什么?在一个类中写入要传递给许多不同的类?

请记住,每个函数调用都会附加SqlCommand对象,以便在将数据返回给请求客户端之前可以调用所有SqlCommands。

0 个答案:

没有答案