Я получаю неожиданное поведение при использовании изолированного хранилища. В этом случае я использую его для поддержания состояния с целью захоронения.
Это приложение для практики лицензирования Ham Radio. Вот что происходит. Когда приложение запускается в первый раз, пользователь находится на главной странице и выбирает одну из двух ссылок OptionPage1 или OptionPage2 (они работают аналогично, поэтому я остановлюсь только на одной). На OptionsPage1 пользователь выбирает из нескольких вариантов, затем нажимает кнопку «Запуск», чтобы перейти к ExamPage, где пользователь отвечает на вопросы. По завершении экзамена пользователь переходит на ScorePage, чтобы увидеть результат. Когда закончите с этим, один из вариантов - нажать кнопку, чтобы вернуться на главную страницу.
Каждый раз, когда пользователь выбирает какое-либо действие, файл в изолированном хранилище обновляется статическими методами в изолированной библиотеке классов обработки хранилища. Я наблюдал действительно странное поведение. Когда ScorePage сохраняет свое состояние, когда пользователь щелкает, чтобы вернуться на MainPage, он сохраняет местоположение как «MainPage», потому что именно там пользователь будет находиться в следующую миллисекунду. Однако, когда MainPage считывает изолированный файл хранилища, который был только что сохранен ScorePage, он не имеет того содержимого, которое сохранял ScorePage! Содержит содержимое, которое было сохранено OptionPage1 !! Я знаю, что ScorePage правильно сохраняет информацию, потому что я попытался прочитать ее сразу после сохранения, и все было в порядке.
Похоже, что могут быть разные версии создаваемого и обновляемого файла. Но это не имеет смысла. Каждая страница использует одни и те же статические методы для сохранения и обновления изолированного файла хранилища, и есть только одна папка и имя файла. Я очень озадачен.