我们有一个程序,需要能够在本地计算机,终端服务器和Citrix上运行。
在程序运行时,它需要创建一些特定于用户的数据(日志),因此出于这个原因,我将其保存在AppData中(C:\Users\\AppData\Roaming)
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
我很确定这可以在本地和TS上使用,但是Citrix又如何呢?我听说一些信息,即在注销过程中会删除在 session 期间在AppData中创建的数据,但这确实是真的。我的印象是
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
是 volatile 文件夹(C:\Users\\AppData\Local),而添加到漫游文件夹的数据在 session 之间保持不变。
最佳答案
Citrix服务器场通常被设计为使每台服务器都是无状态的,这意味着在注销用户 session 后,该用户 session 的每条痕迹都将从服务器中删除。由于用户显然讨厌一次又一次地设置环境,因此漫游配置文件经常用于在登录期间将用户配置文件从文件服务器复制到Citrix XenApp服务器,并在注销期间在注销配置文件的本地副本之前将文件更改回。
在漫游配置文件中,默认情况下不包括%LocalAppData%,但不是。在这里存储应用程序的设置是安全的-它会在 session 之间持续存在。