代码之家  ›  专栏  ›  技术社区  ›  Greg D

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

  •  5
  • Greg D  · 技术社区  · 16 年前

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

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

    (通常,直到现在,我都让应用程序在库可能需要某种外部存储时向库提供一个文件流——一般来说,我不喜欢库在调用方上下文外部具有某种状态的想法。)

    1 回复  |  直到 16 年前
        1
  •  7
  •   Scott Willeke    16 年前

    IsolatedStorage有几个有趣的功能,可以让您选择它:

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

    • IsolatedStorage存储需求可以由管理员策略控制。

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

    • 您还可以将数据存储在隔离存储中,隔离级别也很容易变化。见 the IsolatedStorageScope values 更多信息。这是它的名字,所以我想我应该先列出这一点:)

    不利方面:

    • IsolatedStorage在您可以存储的数据量方面有一些显著的限制。例如,应用程序首选项可以,但不适用于文档。

    一些有用的链接: