Aegis.Data.MSSQL.ConnectionPool.GetDBC C# (CSharp) Method

GetDBC() private method

private GetDBC ( ) : DBConnector
return DBConnector
        internal DBConnector GetDBC()
        {
            DBConnector dbc;

            using (_lock.WriterLock)
            {
                if (_listPoolDBC.Count == 0)
                {
                    dbc = new DBConnector();
                    dbc.Connect(HostAddress, UserId, UserPwd, DBName);
                }
                else
                {
                    dbc = _listPoolDBC.ElementAt(0);
                    _listPoolDBC.RemoveAt(0);
                    _listActiveDBC.Add(dbc);
                }
            }

            return dbc;
        }

Usage Example

コード例 #1
0
ファイル: DBCommand.cs プロジェクト: ECN-Lab/AegisFramework
        public void QueryNoReader()
        {
            if (_dbConnector != null || Reader != null)
            {
                throw new AegisException(AegisResult.DataReaderNotClosed, "There is already an open DataReader associated with this Connection which must be closed first.");
            }


            _dbConnector         = _pool.GetDBC();
            _command.Connection  = _dbConnector.Connection;
            _command.CommandText = CommandText.ToString();

            Prepare();
            _command.ExecuteNonQuery();
            _dbConnector.QPS.Add(1);
            EndQuery();
        }