public IConnection GetConnection(ConnectionFactory connectionFactory)
{
var connectionId = GetConnectionId(connectionFactory);
IConnection connection;
var connectionFound = s_connectionPool.TryGetValue(connectionId, out connection);
if (connectionFound != false && connection.IsOpen != false)
return connection;
lock (s_lock)
{
connectionFound = s_connectionPool.TryGetValue(connectionId, out connection);
if (connectionFound == false || connection.IsOpen == false)
{
connection = CreateConnection(connectionFactory);
}
}
return connection;
}