как приложение метро должно кэшировать изображения для захоронения (и должно ли это)?

У меня есть метро-приложение С#, которое загружает набор объектов, имеющих свойство для uri. Эта коллекция привязана к ListBox с привязкой к источнику изображения, это работает нормально.

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

В этом случае действия пользователей приводят к загрузке и правильному отображению коллекции, они переключаются на другое приложение, а мое приложение закрывается. Затем пользователь снова переключается на мое приложение и ожидает точно такого же отображения, как и раньше, но теперь не подключен к Интернету.

Сохранить коллекцию несложно, а подключиться к событию ImageLoaded для изображения несложно, но как сохранить это изображение?

Является ли это необходимой функцией, будут ли окна автоматически кэшировать этот тип изображения на основе http?

Осторожно, API изменился для RP, и часто встречающиеся примеры с использованием WritableBitmap больше не работают, поскольку конструктор больше не может принимать ImageSource.

Обновлять:

Metro APP - BitmapImage to Byte[] или загрузить изображение из Интернета и преобразовать его в массив Byte[], чего я боялся, они не используют существующий рабочий связанный элемент изображения, а делают отдельный http-вызов. Я действительно не хочу загружать все свои изображения дважды. Я попробую всплеск и посмотрю, кэширует ли Windows HTTP-запрос в этом сценарии.


person rob    schedule 19.06.2012    source источник
comment
К сожалению, этот метод использования HttpClient для получения Uri из Uri из изображения из xaml после запуска события ImageOpened снова попадает на сервер и повторно загружает файл, вызывая два попадания на файл изображения на сервере, что неприемлемо.   -  person rob    schedule 20.06.2012


Ответы (1)


Этот ответ повторяет предыдущий ответ, который был удален.

Единственный способ обеспечить требуемый пользовательский интерфейс, описанный выше, — это локальное кэширование изображений вручную. Ничего в этой области не делается для программиста.

Что не было представлено, так это закодированное решение, для решения которого был создан новый вопрос. Как я могу сохранить изображение из ImageSource без повторной загрузки?

person rob    schedule 20.06.2012