2013-08-27 61 views
1

我有一個項目,我工作的地方數據無法緩存在某些實體類型的客戶端上。有些是好的,有些則不是。如何確保Breeze緩存不會保留在本地內存

我在文檔或API中沒有看到任何引用了不緩存特定類型實體的API,那麼是否有辦法做到這一點以防止安全信息被緩存?

我試過了什麼?

沒什麼......我不明白的方式來做到這一點...

編輯

作爲替代,如果從IdeaBlade任何人都可以解釋如何以及在何處伸出援助之手緩存是保存信息以及信息持續存在的位置(如果有的話),可能有助於緩解不緩存的需要。

編輯2

否的答案,但是,我改變了標題 -

如何確保瀏覽器已被關閉後,沒有敏感數據在本地內存持續?

回答

2

這裏有兩個問題。

  1. 如何讓Breeze免於在內存緩存中保存某個類型的實體。
  2. 如何防止跨瀏覽器會話緩存實體。

Number 2 first:內存緩存中的Breeze在瀏覽器會話關閉時會蒸發,並且不會在瀏覽器會話間共享。你可以安排本地持久性,但這是一個有意識的決定和一些小的努力。我認爲你不必擔心這一點。

如果你想防止某種類型被緩存在內存中(真的?爲什麼?),你可以編寫一個簡單的JsonResultsAdapter來跳過這個實體類型的節點的$ type參數,讓其他人通過默認適配器。 Breeze僅使用已識別的$類型使可擴展實體脫離節點。在文檔中查看該適配器。

+0

我已經看過如何將緩存寫入字符串或其他類型的字符串,但如果與我一直在尋找的相反。感謝您的放心。作爲附註,本地緩存的大小是否有限制,還是基於瀏覽器? –

+0

是的,情況正好相反。這是我的觀點;你不得不採取額外的措施來達到你不想要的效果。默認情況下,您無需擔心IMO。至於你的旁邊,瀏覽器設置標準認爲應該是每個源5梅格的地方限制。 – Ward