Я искал реализацию кэширования в своем приложении UWP, но я не смог найти System.Runtime.Caching, я посмотрел на msdn https://msdn.microsoft.com/en-us/library/mt185505.aspx не смог найти эту ссылку. Поддерживается ли это в UWP? если нет, то какая альтернатива? Я просмотрел другие подобные вопросы в stackoverflow, но не смог найти никакого жизнеспособного ответа на No System.Runtime.Caching available?Отсутствие system.runtime.caching в UWP
ответ
System.Runtime.Caching недоступен в текущей версии UWP SDK. В зависимости от того, какого типа кэширования вам нужно, есть несколько вариантов: кэширование
UI:
- Page.NavigationCacheMode: запоминает рендеринг страницы на backstack (включая прокрутку позиции, данные на экране, ...).
- UIElement.CacheMode: отображение содержимого UIElement в виде растрового изображения (в основном для сложных визуализаций).
кэширование данных 'Real', используя 3-библиотеками, как:
- Akavache: асинхронное хранилище ключ-значение, основанную на SQLite, с правилами годности.
- Сохраните данные в формате JSON/XML на диск самостоятельно.
Обновление на комментарий:
Вы можете очистить NavigationCacheMode, установив его в Disabled
. Обратите внимание, что вы не можете передать параметр в GoBack(), чтобы сообщить своей предыдущей странице об очистке кеша. Поэтому вам придется добавить какой-то обмен сообщениями событий (например, Prism EventAggregator) или глобальную переменную, чтобы отслеживать это.
Если вы хотите программно изменить значение NavigationCacheMode на Enabled или Required, вы можете установить эти значения только в конструкторе для страницы.
Если изменить значение
NavigationCacheMode
отRequired
илиEnabled
кDisabled
, страница удаляются из кэша.
Но поскольку вы говорите о данных JSON из веб-звонка, я бы пошел на Akavache.
Спасибо за информацию Bart. – Anu
Мне нужно сохранить данные Json, которые были возвращены моим веб-приложением. Я попробовал page.NavigationCacheMode, есть ли способ очистить кеш страницы, например.экран 2 изменяет некоторые данные, которые необходимо обновить до предыдущего экрана, я не смог найти какой-либо документ/пример того же – Anu
Обновленный ответ. Но поскольку вы говорите о том, чтобы получить json из Интернета, посмотрите на Akavache .. по-моему, это гораздо лучшее решение. – Bart
- 1. Производительность system.runtime.caching
- 2. ASP.NET 5 System.Runtime.Caching
- 3. System.Runtime.Caching не освобождает BitmapImage объекты
- 4. Изменение расположения файлов в System.Runtime.Caching cache cache
- 5. Есть ли какой-то CacheDependency в System.Runtime.Caching?
- 6. Попытка создать System.Runtime.Caching из Microsoft/sourcesource
- 7. System.Web.Caching & System.Runtime.Caching от пула приложений IIS перезапускается
- 8. System.Web.Caching и System.Runtime.Caching поведение использования комбинированной памяти
- 9. Полностью Невозможно Определить UpdateCallback из System.Runtime.Caching
- 10. Есть ли эквивалент уведомлений в таблице в System.Runtime.Caching
- 11. Открытие UWP в UWP приложения
- 12. Где найти System.Runtime.Caching для ссылки в приложении Windows Forms
- 13. Функция эквивалента UWP для FindAncestor в uwp
- 14. Отсутствие указателей в Java
- 15. Отсутствие событий в анимации
- 16. Отсутствие данных в getInvestmentPositions
- 17. Отсутствие журналов в django
- 18. Отсутствие пробелов в JTextField
- 19. Отсутствие случайности в numpy.random
- 20. Отсутствие VM_KEYPRESS в WinForms?
- 21. Отсутствие вывода в автозаполнении
- 22. Отсутствие ошибок сериализации означает отсутствие подводных камней?
- 23. Является System.Web.Caching или System.Runtime.Caching предпочтительнее для веб-приложения .NET 4.
- 24. Обновление PDO, отсутствие ошибок и отсутствие ответа в DB
- 25. Assert.AreEqual (..) отсутствие
- 26. CalendarIdentifier в UWP CalendarDatePicker
- 27. Перемещение элементов в UWP
- 28. Pinging в C# (UWP)
- 29. Высота содержимогоDialog в UWP
- 30. Обработка исключений в UWP
не Microsoct.Extensions.MemoryCache работает на UWP? Вы также можете использовать CacheManager, который должен работать, сборка в кеше словаря basec или использование Microsoft Extensions должно полностью работать. Я думаю, – MichaC
Я не могу ссылаться на Microsoft.Extensions.Caching.Memory.dll в моем проекте UWP. Я могу использовать словарь, но мне нужно выпустить некоторую пару ключевых значений, например. общий доступ signatutre, который когда-нибудь станет недействительным. – Anu
Не понимаю, что вы имеете в виду, но вы можете просто добавить пакеты nuget в свой проект UWP, я только что создал пустой файл и добавил CacheManager.Microsoft.Extensions.Caching.Memory и использовал его. Работает полностью нормально – MichaC