Exemple #1
0
        public void Remove(params string[] keys)
        {
            keys = keys ?? throw new ArgumentNullException(nameof(keys));
            var tx = Transaction.Value;

            if (tx == null)
            {
                _keyStorage.StoreKeys(keys);
                _dispatcher.DispatchToRemove(keys);
            }
            else
            {
                _keyStorage.StoreKeys(keys, tx.DbTransaction);
                tx.Committed += (s, e) => _dispatcher.DispatchToRemove(keys);
                if (tx.AutoCommit)
                {
                    tx.Commit();
                }
            }
        }