Exemple #1
0
        public async Task <OrchestrationState> WaitForOrchestrationAsync(string instanceId, string executionId, TimeSpan timeout, CancellationToken cancellationToken)
        {
            var request = new WaitForOrchestrationRequest
            {
                InstanceId  = instanceId,
                ExecutionId = executionId,
                Timeout     = Duration.FromTimeSpan(timeout)
            };

            var callOptions = new CallOptions(cancellationToken: cancellationToken);

            var response = await _client.WaitForOrchestrationAsync(request, callOptions);

            return(string.IsNullOrEmpty(response.State) ? null : _options.DataConverter.Deserialize <OrchestrationState>(response.State));
        }
Exemple #2
0
        public override async Task <WaitForOrchestrationResponse> WaitForOrchestration(WaitForOrchestrationRequest request, ServerCallContext context)
        {
            var state = await _orchestrationServiceClient.WaitForOrchestrationAsync(
                request.InstanceId,
                request.ExecutionId,
                request.Timeout.ToTimeSpan(),
                context.CancellationToken);

            var response = new WaitForOrchestrationResponse
            {
                State = state == null ? null : _options.DataConverter.Serialize(state)
            };

            return(response);
        }