我应该何时选择IsolatedStorage与AppData文件存储?

时间:2009-01-27 15:25:58

标签: .net isolatedstorage appdata

我最近在.net中发现了IsolatedStorage设施,我想知道何时应该将它们用于我的应用程序数据,而不是应该使用(例如)Application.LocalUserAppDataPath

我注意到的一件事是winforms应用程序之外不存在Application,因此IsolatedStorage似乎对需要某些特定存储的类库有意义,尤其是如果该库可能被Web应用程序和winforms应用程序使用。这是唯一的区别点,还是还有更多呢?

(作为一项规则,直到现在,我已经让应用程序在库可能需要某种外部存储时向库提供文件流 - 一般来说,我不喜欢在调用者的上下文外部具有某种状态的库。)

1 个答案:

答案 0 :(得分:7)

IsolatedStorage有一些有趣的功能可能会让您选择它:

  • 即使非常低的可信应用程序(例如click-once)也可以访问独立存储。并非所有应用程序都可以访问AppData。根据对应用程序施加的安全策略,IsolatedStorage也可以受到限制,但它通常比AppData /文件系统更容易访问。

  • 可以通过管理员策略控制IsolatedStorage存储要求。

  • 您无需知道存储数据的隔离位置或方式。它有一个统一的API,可以在所有系统上访问它,你可以完全忽略它存储在它的底层路径。正如你所说,这对于一个可能不知道托管应用程序如何存储数据的库非常有用。

  • 您还可以将数据存储在隔离存储中,并且可以非常轻松地实现不同的隔离级别。有关详细信息,请参阅the IsolatedStorageScope values。这是它的同名,所以我想我应该先列出这一点:)

缺点:

  • IsolatedStorage对您可以存储的数据量有一些显着的限制。例如,应用程序首选项会很好,但它不适合文档。

一些有用的链接: