Tar*_*ion 40 .net c# windows application-settings appdata
在我的系统上,%AppData%导致ApplicationData其中C:\Users\<USER>\AppData\Roaming
但也存在C:\Users\<USER>\AppData\Local
一些混乱D:\Users\<USER>\AppData\LocalLow
string local = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string roaming = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Run Code Online (Sandbox Code Playgroud)
我的问题是,我的应用程序应该在哪些位置保存其数据?
是否有使用这些地点的指南?如果我选择了错误的位置,我是否会让自己接受问题?
Rog*_*mbe 50
该Roaming文件夹时,漫游配置文件(在域环境中)启用机之间复制.将其用于要在计算机之间共享的应用程序数据.但是不要在那里存储大文件 - 当你这样做时,IT部门不喜欢它,并且它会增加用户登录和注销文件的时间.
该Local文件夹不会在计算机之间复制.将其用于特定于计算机的应用程序数据.
该LocalLow文件夹用于低权限任务(例如Internet Explorer).你不应该担心它.
对于用户专门保存的文件,您应该将它们(默认情况下)放在Documents文件夹中.
从 MSDN - Environment.SpecialFolder 枚举:
ApplicationData - 作为当前漫游用户特定于应用程序数据的公共存储库的目录。漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络上的服务器上,并在用户登录时加载到系统上。
LocalApplicationData 用作当前非漫游用户使用的特定于应用程序的数据的公共存储库的目录。
简而言之,ApplicationData用于漫游配置文件和LocalApplicationData非漫游配置文件。