Exemple #1
0
        private void ExecuteRetried(SqlCommand cmd, LoadFromReader loader, object loadFromReaderParam)
        {
            SqlDataReader reader = null;
            short         num    = 0;

            Label_0004 :;
            try
            {
                using (SqlConnection connection = new SqlConnection(this._connectionString))
                {
                    cmd.Connection = connection;
                    cmd.Connection.Open();
                    reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    loader(reader, loadFromReaderParam);
                }
            }
            catch (SqlException exception)
            {
                if ((_deadlock != exception.Number) || ((num = (short)(num + 1)) >= _retries))
                {
                    throw;
                }
                goto Label_0004;
            }
            finally
            {
                if ((reader != null) && !reader.IsClosed)
                {
                    reader.Close();
                }
            }
        }
Exemple #2
0
        private void ExecuteRetried(SqlCommand cmd, LoadFromReader loader, object loadFromReaderParam)
        {
            SqlDataReader reader = null;
            short         count  = 0;

            while (true)
            {
                try
                {
                    using (SqlConnection conn = new SqlConnection(_connectionString))
                    {
                        cmd.Connection = conn;
                        cmd.Connection.Open();
                        reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                        loader(reader, loadFromReaderParam);
                        break;
                    }
                }
                catch (SqlException se)
                {
                    //
                    // Retry if we deadlocked.
                    // All other exceptions bubble
                    if ((_deadlock == se.Number) && (++count < _retries))
                    {
                        continue;
                    }

                    throw;
                }
                finally
                {
                    if ((null != reader) && (!reader.IsClosed))
                    {
                        reader.Close();
                    }
                }
            }
        }
        private void ExecuteRetried(SqlCommand cmd, LoadFromReader loader, object loadFromReaderParam)
        {
            SqlDataReader reader = null;
            short count = 0;
            while (true)
            {
                try
                {
                    using (SqlConnection conn = new SqlConnection(_connectionString))
                    {
                        cmd.Connection = conn;
                        cmd.Connection.Open();
                        reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                        loader(reader, loadFromReaderParam);
                        break;
                    }
                }
                catch (SqlException se)
                {
                    //
                    // Retry if we deadlocked.
                    // All other exceptions bubble
                    if ((_deadlock == se.Number) && (++count < _retries))
                        continue;

                    throw;
                }
                finally
                {
                    if ((null != reader) && (!reader.IsClosed))
                        reader.Close();
                }
            }
        }
 private void ExecuteRetried(SqlCommand cmd, LoadFromReader loader)
 {
     ExecuteRetried(cmd, loader, null);
 }
Exemple #5
0
 private void ExecuteRetried(SqlCommand cmd, LoadFromReader loader)
 {
     ExecuteRetried(cmd, loader, null);
 }
 private void ExecuteRetried(SqlCommand cmd, LoadFromReader loader, object loadFromReaderParam)
 {
     SqlDataReader reader = null;
     short num = 0;
 Label_0004:;
     try
     {
         using (SqlConnection connection = new SqlConnection(this._connectionString))
         {
             cmd.Connection = connection;
             cmd.Connection.Open();
             reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
             loader(reader, loadFromReaderParam);
         }
     }
     catch (SqlException exception)
     {
         if ((_deadlock != exception.Number) || ((num = (short) (num + 1)) >= _retries))
         {
             throw;
         }
         goto Label_0004;
     }
     finally
     {
         if ((reader != null) && !reader.IsClosed)
         {
             reader.Close();
         }
     }
 }