Почему изолированное хранилище не удаляет два последних временных файла при выходе из Windows Phone 7?

Я написал приложение, которое использует данные изолированного хранилища, которые я хочу периодически очищать, когда они устаревают. Я написал функцию, которая вызывается из закрытия, которая проверяет изолированное хранилище на наличие старых данных и удаляет их.

Эта процедура удалит все файлы, которые она предназначена, кроме двух последних файлов в каталоге. Когда я отлаживаю код, я вижу, что он выполняет метод DeleteFile для этих файлов. Я даже когда проверяю сразу после вызова DeleteFile, чтобы увидеть, существует ли еще файл. По словам отладчика, этого нет.

Тем не менее, когда приложение запускается снова, старые данные для этих последних файлов все еще находятся в изолированном хранилище. Думая, что это может быть состояние гонки, я поместил Thread.sleep (1000) после маршрутов удаления.

Телефон не учитывает эту задержку и выходит сразу после выполнения дельте-кода. Мне не удалось найти команду сброса, которая была бы связана с DeleteFile, поскольку на тот момент у меня нет ссылки на поток.

Кто-нибудь еще нашел это или что-то подобное? Есть ли какой-то метод волшебной очистки, который мне не хватает, или это дефект в реализации изолированного хранилища на телефоне?


person Frank B.    schedule 07.02.2011    source источник
comment
Почему бы не показать код, который вы пытаетесь использовать, и, возможно, мы сможем помочь вам отладить его. Как бы то ни было, ваш вопрос сводится к тому, что у меня неточно описанная проблема. Было ли у вас что-нибудь подобное? и не могу ответить.   -  person Matt Lacey    schedule 08.02.2011


Ответы (1)


я согласен с Мэттом и Матье. хотя также хочу спросить, пробовали ли вы обрезать файл? IsolatedStorageFileStream isfStream = new IsolatedStorageFileStream(strXMLFile, FileMode.Truncate, isf);

person VichitraVij    schedule 09.02.2011