2016-08-02 2 views
1

У меня есть IReliableDictionary. Каждый раз, когда я удаляю приложение и развертываю его снова, я ожидаю, что все данные будут удалены.Надежные коллекции данных после удаления приложения живыми?

Но похоже, что что-то сохраняется на диске, и словарь способен загрузить эти данные после повторного развертывания. Поэтому, когда я пытаюсь сделать AddAsync что-то после повторного развертывания, я получаю ArgumentException с дополнительной информацией key. Похоже, я пытаюсь вставить уже вставленный ключ.

Название словаря такое же, и весь кластер не перераспределяется, а только само приложение.

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

Локальный кластер dev, версия SF 2.1.163.

+0

Вы развертывание Azure или локальный Dev кластер? – LoekD

+0

@LoekD локальный кластер dev. – cassandrad

ответ

2

Убедитесь, что вы используете правильный режим развертывания в Visual Studio. Он имеет два способа развертывания приложения локально:

  • Auto Upgrade
  • Удалить

Удалить удалит приложение полностью, удалив все состояния, а затем повторно развернуть новое приложение.

Auto Upgrade будет выполнять обновление, чтобы не потерять состояние. Это удобно, когда вы работаете над приложением, которое должно быть загружено данными для его проверки, поэтому вы не теряете все свои тестовые данные при каждом изменении кода и запуске приложения.

правая кнопка мыши на проект приложения и перейти к свойствам, чтобы установить это:

enter image description here

+0

Я уверен, что использую режим * Remove *. Все процессы, за исключением внутренней ткани, были убиты, и у меня есть только два места, где происходят такие вещи - как в штатных сервисах с надежным словарем. Есть много других услуг, и они ведут себя по-другому, – cassandrad

+0

Я нашел причину. Внутри проекта был код, который добавлял данные в коллекции, и было трудно найти его быстро. Но странно, что удаление кластера помогло раз. – cassandrad

Смежные вопросы