private async Task ExecuteOperationAsync( IOperation operation, IOperationResultBuilder resultBuilder, CancellationToken cancellationToken) { var context = new HttpOperationContext( operation, _operationFormatter, resultBuilder, _resultParserResolver.Get(operation.ResultType), _clientFactory(), cancellationToken); try { await _executeOperation(context).ConfigureAwait(false); } finally { if (context.HttpResponse != null) { context.HttpResponse.Dispose(); } if (context.HttpRequest != null) { context.HttpRequest.Dispose(); } } }
public async Task <IResponseStream> ExecuteInternalAsync( IOperation operation, CancellationToken cancellationToken) { var subscription = Subscription.New( operation, _operationFormatter, _resultParserResolver.Get(operation.ResultType)); ISocketConnection connection = await _connectionFactory(cancellationToken) .ConfigureAwait(false); await _subscriptionManager.RegisterAsync(subscription, connection) .ConfigureAwait(false); return(subscription); }