2009-01-27 81 views
4

我最近在.net中發現了IsolatedStorage工具,我想知道何時應該將它們用於我的應用程序數據,而不是何時應該使用(例如)Application.LocalUserAppDataPath什麼時候應該選擇IsolatedStorage與AppData文件存儲?

我注意到的一件事是Application不存在於winforms應用程序之外,所以IsolatedStorage似乎對需要某些特定存儲的類庫有意義,特別是如果該庫可能被使用Web應用程序和Winforms應用程序。這是唯一的區別點,還是更多呢? (通常,直到現在,我已經讓應用程序在圖書館可能需要某種外部存儲時提供文件流 - 一般來說,我不喜歡這個想法。具有某種狀態的外部調用者的上下文庫)

回答

7

IsolatedStorage有幾個有趣的功能,可能讓你選擇它:

  • 即使是非常低的受信任的應用程序(如點擊 - 一次)可以訪問獨立存儲。並非所有的應用程序都可以訪問AppData。根據對應用程序施加的安全策略,IsolatedStorage也可能受到限制,但通常比AppData /文件系統更易於訪問。

  • IsolatedStorage存儲要求可以由管理員策略控制。

  • 您不必知道在何處或如何存儲獨立的存儲數據。它具有統一的API,可以在所有系統上訪問它,完全可以忽略存儲的基礎路徑。正如您所指出的,這對於不知道託管應用程序如何存儲數據的庫非常有用。

  • 您還可以非常容易地將數據存儲在獨立存儲中,並且具有不同的隔離級別。有關更多信息,請參見the IsolatedStorageScope values。這是其同名,所以我想我應該首先列出了這一點:)

不利的一面:

  • IsolatedStorage在你可以存儲在那裏的數據量一些顯着的限制。例如,應用程序首選項將會很好,但它不適用於文檔。

一些有用的鏈接:

+1

也許具有諷刺意味的,isolatedstorage的出衆的設計使得它在麻煩我的情況B/C我更新設計不良傳統的應用程序(這確實喜歡投擲路徑而不是流)。這可能只是我需要修復它的理由。 – 2009-01-27 15:53:26

相關問題