public async Task <GetOccupiedInstancesResponse> GetOccupiedInstancesAsync(string serviceTypeUri, CancellationToken cancellationToken)
        {
            var occupiedInstances = (await Task.WhenAll((await _fabricClient.GetActorsAsync(_actorProxyFactory, ApplicationUri, ActorServiceUri, cancellationToken))
                                                        .Select(actor => GetOccupiedInstancesAsync(actor.ActorId.GetStringId(), serviceTypeUri))))
                                    .SelectMany(response => response.OccupiedInstances)
                                    .Distinct()
                                    .ToList();

            return(new GetOccupiedInstancesResponse(occupiedInstances));
        }
 public static async Task <IEnumerable <ActorInformation> > GetActorsAsync(this FabricClient fabricClient, IActorProxyFactory actorProxyFactory, Uri applicationUri, Uri actorServiceUri, CancellationToken cancellationToken) =>
 (await Task.WhenAll((await fabricClient.GetInt64RangePartitionsAsync(applicationUri, actorServiceUri)).Select(
                         partition => fabricClient.GetActorsAsync(actorProxyFactory, actorServiceUri, partition.LowKey, cancellationToken))))
 .SelectMany(x => x).ToList();
 public async Task <IEnumerable <GetInstancesResponse> > GetInstancesAsync(CancellationToken cancellationToken) =>
 (await Task.WhenAll((await _fabricClient.GetActorsAsync(_actorProxyFactory, ApplicationUri, ActorServiceUri, cancellationToken))
                     .Select(actor => GetInstancesAsync(actor.ActorId.GetStringId(), cancellationToken))))
 .ToList();