Ejemplo n.º 1
0
        public Task <ReliableStreamReader> ExecuteQueryAsync(ExecuteSqlRequest request, CancellationToken cancellationToken, int timeoutSeconds)
        {
            return(ExecuteHelper.WithErrorTranslationAndProfiling(Impl, "EphemeralTransaction.ExecuteQuery", _connection.Logger));

            async Task <ReliableStreamReader> Impl()
            {
                PooledSession session = await _connection.AcquireSessionAsync(_transactionOptions, cancellationToken).ConfigureAwait(false);

                var reader = session.ExecuteSqlStreamReader(request, timeoutSeconds);

                reader.StreamClosed += delegate { session.ReleaseToPool(forceDelete: false); };
                return(reader);
            }
        }
Ejemplo n.º 2
0
        public Task <ReliableStreamReader> ExecuteReadOrQueryAsync(ReadOrQueryRequest request, CancellationToken cancellationToken, int timeoutSeconds /* ignored */)
        {
            return(ExecuteHelper.WithErrorTranslationAndProfiling(Impl, "EphemeralTransaction.ExecuteReadOrQuery", _connection.Logger));

            async Task <ReliableStreamReader> Impl()
            {
                PooledSession session = await _connection.AcquireSessionAsync(_transactionOptions, cancellationToken).ConfigureAwait(false);

                var callSettings = _connection.CreateCallSettings(
                    request.GetCallSettings,
                    cancellationToken);
                var reader = request.ExecuteReadOrQueryStreamReader(session, callSettings);

                reader.StreamClosed += delegate { session.ReleaseToPool(forceDelete: false); };
                return(reader);
            }
        }