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)); }
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); }