コード例 #1
0
        private void Events_ConnectionClosed(RemotingDbConnection connection)
        {
            var id = GetOrThrowConnectionId(connection);

            ConnectionIds.TryRemove(connection, out _);
            CloseConnection(id);
        }
コード例 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="connection"></param>
 /// <param name="isolationLevel"></param>
 /// <param name="strategy"></param>
 public RemoteDbTransaction(RemotingDbConnection connection, IsolationLevel isolationLevel, RemotingStrategy strategy)
 {
     Connection     = connection;
     IsolationLevel = isolationLevel;
     Strategy       = strategy;
     Status         = TransactionStatus.InDoubt;
     Strategy.Events.OnTransactionCreated(this);
 }
コード例 #3
0
        private string GetOrThrowConnectionId(RemotingDbConnection connection)
        {
            if (ConnectionIds.TryGetValue(connection, out var id))
            {
                return(id);
            }

            throw new InvalidOperationException("Missing Connection Id");
        }
コード例 #4
0
 private void Events_ConnectionOpened(RemotingDbConnection connection)
 {
     ConnectionIds.TryAdd(connection, RegisterConnection());
 }