Esempio n. 1
0
            private async Task ExecuteAsync(RequestSession session)
            {
                try
                {
                    IOperationResultBuilder <TData, TResult> resultBuilder = _resultBuilder();

                    await foreach (var response in
                                   _connection.ExecuteAsync(_request, session.Token).ConfigureAwait(false))
                    {
                        if (session.Token.IsCancellationRequested)
                        {
                            return;
                        }

                        _operationStore.Set(_request, resultBuilder.Build(response));

                        if (_request.Document.Kind == OperationKind.Subscription)
                        {
                            _operationStore.ClearResult <TResult>(_request);
                        }
                    }
                }
                finally
                {
                    session.Dispose();
                }
            }
Esempio n. 2
0
 public void Dispose()
 {
     if (!_disposed)
     {
         _requestSession.Dispose();
         _storeSession.Dispose();
         _disposed = true;
     }
 }