Saltar al contenido

No se puede realizar la operación de transacción porque hay solicitudes pendientes trabajando

Si te encuentras con algún detalle que no entiendes puedes dejarlo en los comentarios y te ayudaremos tan rápido como podamos.

Solución:

He tenido este problema antes y el problema era que era necesario cerrar el lector. Prueba esto:

public foo Dequeue(SqlConnection connection, SqlTransaction transaction)

    using (var command = new SqlCommand(DEQUEUE_SPROC, connection) CommandType = CommandType.StoredProcedure, Transaction = transaction)
    
        var reader = command.ExecuteReader();
        if (reader.HasRows)
        
            reader.Read();
            ID = (Guid) reader["ID"];
            Name = reader["Name"].ToString();
            reader.Close();//Closing the reader
            return this;
        
        return null;
    



public string GetFilePathUri(SqlConnection connection, SqlTransaction    transaction)

    string filePathUri = "";
    using (var command = new SqlCommand(FILEPATH_SPROC, connection) CommandType = CommandType.StoredProcedure, Transaction = transaction)
    
        var reader = command.ExecuteReader();
        if (reader.HasRows)
        
            reader.Read();
            filePathUri = reader["Path"].ToString();
        
        reader.Close();//Closing the reader
    
    return filePathUri;

Tuve este problema cuando olvidé usar await en un método asíncrono que estaba haciendo la llamada a la base de datos: la conexión se estaba eliminando mientras se ejecutaba la transacción porque el programa no estaba esperando a que se completara la consulta antes de intentar eliminar todo.

Eres capaz de sustentar nuestra misión escribiendo un comentario o dejando una valoración te estamos eternamente agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *