Как я могу получить конкретную копию службы без сохранения состояния

Я создал службу без сохранения состояния в Service Fabric. Он имеет SingletonPartition, но несколько экземпляров (InstanceCount равен -1 в моем случае).

Я хочу общаться с конкретной репликой этого сервиса. Чтобы найти все реплики, которые я использую:

var fabricClient = new FabricClient();
var serviceUri = new Uri(SERVICENAME);

Partition partition = (await fabricClient.QueryManager.GetPartitionListAsync(serviceUri)).First();
foreach(Replica replica in await fabricClient.QueryManager.GetReplicaListAsync(partition.PartitionInformation.Id))
{
  // communicate with this replica, but how to construct the proxy?
  //var eventHandlerServiceClient = ServiceProxy.Create<IService>(new Uri(replica.ReplicaAddress));
}

Проблема в том, что ServiceProxy не перегружен, чтобы создать его для реплики. Есть ли другой способ связи с определенной репликой?

редактировать

Сценарий, который мы строим, следующий. У нас есть разные движущиеся части с информацией счетчика: 1 именованная многораздельная служба с сохранением состояния (с парой сотен разделов), 1 многораздельная служба с состоянием int64 и 1 субъект с состоянием. Чтобы объединить информацию счетчика, нам нужно обратиться ко всем разделам службы и экземплярам субъекта.

Конечно, мы могли бы изменить это и позволить каждому посылать туда подсчеты в один (разделенный) сервис. Но это добавило бы сетевой вызов в нормальном потоке (и, следовательно, накладные расходы).

Вместо этого мы придумали следующее. Упомянутые сервисы и участники объединяются в один исполняемый файл и один сервисный манифест. Поэтому они находятся в одном процессе. Мы добавляем службу без сохранения состояния с экземпляром -1 к упомянутым службам и субъектам. Вся информация счетчика хранится внутри статической переменной. Служба без сохранения состояния может прочитать эту информацию счетчика. Теперь нам нужно только обратиться к службе без сохранения состояния (которая имеет верхний предел числа узлов).

Ответы на вопрос(2)

Ваш ответ на вопрос