System.Data.Common.DbCommand.ExecuteDbDataReaderAsync C# (CSharp) Method

ExecuteDbDataReaderAsync() protected method

protected ExecuteDbDataReaderAsync ( CommandBehavior behavior, CancellationToken cancellationToken ) : Task
behavior CommandBehavior
cancellationToken CancellationToken
return Task
        protected virtual Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
        {
            if (cancellationToken.IsCancellationRequested)
            {
                return ADP.CreatedTaskWithCancellation<DbDataReader>();
            }
            else
            {
                CancellationTokenRegistration registration = new CancellationTokenRegistration();
                if (cancellationToken.CanBeCanceled)
                {
                    registration = cancellationToken.Register(CancelIgnoreFailure);
                }

                try
                {
                    return Task.FromResult<DbDataReader>(ExecuteReader(behavior));
                }
                catch (Exception e)
                {
                    registration.Dispose();
                    return Task.FromException<DbDataReader>(e);
                }
            }
        }