5

我最近IsolatedStorage在 .net 中发现了这些工具,我想知道什么时候应该将它们用于我的应用程序数据,什么时候应该使用 (eg) Application.LocalUserAppDataPath

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

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

4

1 回答 1

7

隔离存储有几个有趣的功能可能会让你选择它:

  • 即使是信任度极低的应用程序(例如单击一次)也可以访问隔离存储。并非所有应用程序都可以访问 AppData。根据施加于应用程序的安全策略,IsolatedStorage 也可以受到限制,但它通常比 AppData/文件系统更易于访问。

  • 隔离存储存储要求可以由管理员策略控制。

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

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

不利的一面:

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

一些有用的链接:

于 2009-01-27T15:40:52.607 回答