我正在尋找在我的UWP應用程序中實現緩存,但我無法找到System.Runtime.Caching,我看着msdn https://msdn.microsoft.com/en-us/library/mt185505.aspx找不到此引用。這是UWP支持的嗎?如果不是什麼替代方案?我看了其他類似的問題,但沒有找到任何可行的答案No System.Runtime.Caching available?在UWP中沒有system.runtime.caching
1
A
回答
2
System.Runtime.Caching在當前的UWP SDK版本中不可用。根據什麼類型的,你需要的緩存,有幾個選項:
UI緩存:
- Page.NavigationCacheMode:記得在頁面呈現在堆棧中(包括滾動位置,屏幕上的數據,... )。
- UIElement.CacheMode:將UIElement的內容渲染爲位圖(主要用於複雜的渲染)。
'真正' 的數據緩存,使用第三方庫,例如:
- Akavache:基於SQLite的異步key-value存儲,使用過期規則。
- 將數據以JSON/XML格式自行保存到磁盤。
更新的留言:
您可以將其設置爲Disabled
清除NavigationCacheMode。請注意,您無法在GoBack()上傳遞參數來告訴上一頁清除緩存。所以你必須添加一些事件消息(比如Prism EventAggregator)或者一個全局變量來跟蹤它。
如果要以編程方式將NavigationCacheMode的值更改爲Enabled或Required,則只能在頁面的構造函數中設置這些值。
如果將
NavigationCacheMode
的值從Required
或Enabled
更改爲Disabled
,則會從緩存刷新頁面。
但是既然你是從網絡通話談論JSON數據,我會去Akavache。
相關問題
- 1. UWP中沒有IsManipulationEnabled屬性
- 2. ListView中沒有滾動UWP
- 3. IAP沒有在UWP中顯示
- 4. 有沒有辦法在System.Runtime.Caching中強制執行MemoryCache的大小限制?
- 5. Custom System.Runtime.Caching ChangeMonitor
- 6. system.runtime.caching的性能
- 7. System.Runtime.Caching中是否存在某種CacheDependency?
- 8. UWP Live Tile沒有更新
- 9. UWP的ListView沒有數據
- 10. UWP吐司沒有震動?
- 11. .net緩存與system.runtime.caching
- 12. ToggleButton在UWP中沒有未選中狀態
- 13. 在沒有JSON.Net的情況下在UWP中創建json
- 14. 完全無法定義System.Runtime.Caching
- 15. System.Runtime.Caching中的MemoryCache:項目不會過期
- 16. Xamarin UWP項目沒有在Visual Studio 2015中創建後生成
- 17. 列表框沒有在UWP中填充ReactiveUI
- 18. 在UWP中檢測沒有事件的按鍵
- 19. UWP嵌套ListView沒有伸展
- 20. com0com虛擬端口沒有被UWP
- 21. C#UWP保存StorageFile沒有對話框
- 22. UWP Webview沒有恢復功能
- 23. UWP - 沒有Xaml模板的GridView
- 24. DirectX 11/12沒有UWP可能嗎?
- 25. 沒有XAML MediaElement的UWP語音合成
- 26. 有沒有辦法列出UWP中連接的USB打印機?
- 27. UWP在ControlTemplate中
- 28. 在帶有MVVMCross的UWP中使用SQLite
- 29. 有沒有辦法在普通的.NET Framework項目中使用UWP DLL?
- 30. UWP在寫現有文件
Microsoct.Extensions.MemoryCache不工作在UWP上嗎?您也可以使用應該工作的CacheManager,在Dictionary basec緩存中構建或使用Microsoft擴展應該完全工作我猜 – MichaC
我無法在我的UWP項目中引用Microsoft.Extensions.Caching.Memory.dll。我可以使用字典,但我需要有一些關鍵值對到期,例如共享訪問signatutre在一段時間後會失效。 – Anu
不明白你的意思,但你可以添加nuget包到你的UWP項目中,我只是創建一個空白的並添加CacheManager.Microsoft.Extensions.Caching.Memory並使用它。工作完全正常 – MichaC