Есть ли способ сделать резервную копию одной ReliableCollection в сервисной фабрике? - PullRequest
0 голосов
/ 18 июня 2019

У меня есть три надежные коллекции, определенные в моем StatefulService, которые определены следующим образом:

this.dataCount = 
      await StateManager.GetOrAddAsync<IReliableDictionary<string, int>>("count");

this.dataDictionary1 = 
     await StateManager
          .GetOrAddAsync<IReliableDictionary<string, ResourceElement>>
          ("data1");

this.dataDictionary2 = 
     await StateManager
          .GetOrAddAsync<IReliableDictionary<string, ResourceElement>>
          ("data2");

Теперь я хотел бы переместить коллекцию data2 (ее содержимое) в отдельную StatefulService, и яне знаю, как действовать.

В идеале я ищу механизм, который позволил бы мне сделать резервную копию data2 (я не против, если мне нужно добавить метод к моей службе)в файл, а затем возобновить резервное копирование из этого файла в другой сервис.

Есть ли что-нибудь подобное?

1 Ответ

0 голосов
/ 18 июня 2019

Резервные копии работают на уровне служебного раздела.Единственный способ создать резервную копию отдельной коллекции - это иметь службу с состоянием с 1 разделом, содержащую только эту коллекцию.

Что вы можете сделать, это восстановить резервные копии вашей старой службы (службы)1) в новую службу (службу 2), которую вы создаете только для перемещения данных из коллекции data2 в другую службу (служба 3).После этого вы удаляете сервис 2 и продолжаете запуск сервиса 3.

...