为 Citrix/终端服务器编程 .NET 应用程序:合规性和陷阱
我们在这里有点迷失了。我们需要使我们的应用程序可安装在具有 80 多个 Citrix 服务器的网络上。尽管我们的应用程序是 100% 有效且可正常运行的 .NET,但我们还是遇到了一些(对我们来说很奇怪的)行为:
- 您不能使用任何“文档和设置”文件夹来存储数据或设置。显然这些文件夹是虚拟化的并且位于多个位置。
- 检查文件是否存在(即在您自己的“程序文件”文件夹中)不起作用。可能是出于同样的原因。
- 为什么文件系统会这样?
- 您需要如何存储数据才能使应用程序在 Citrix 上运行?
- 还有其他陷阱或您需要了解的事情吗?
We are a bit lost here. We need to make our app installable on a network with 80+ Citrix servers. Although our app is 100% valid and working .NET, we've experienced some (for us weird) behavior:
- You cannot use any "Documents and settings" folders for storing data or settings. Apparently these folders are virtualized and are located in multiple places.
- Checking if a file exists (i.e., in your own 'program files' folder) doesn't work. Probably for the same reason.
- Why is the filesystem behaving this way?
- How do you need to store your data to make an app work on Citrix?
- Are there any other pitfalls or things you need to know about?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Citrix 环境的实际用途与远程桌面服务(以前称为终端服务)环境相同。
Microsoft 发布了远程桌面服务编程指南 在 MSDN 上,这是了解您需要考虑的内容的一个很好的起点。
Microsoft 英国应用程序开发咨询小组有一个关于 开发 .NET 应用程序以部署在终端服务或 Citrix 上,这更注重性能。
您可以获得 12 个月的 Citrix 免费开发许可证,这可能对测试有用。
我们已经对 Citrix 进行了一些部署,让我们感到困惑的一定是 Citrix 管理员摆弄其用户的权限。他们有时会破坏 Windows 的主要部分,在这种情况下,您唯一能做的就是记录大量日志:)
祝您好运!
A Citrix environment is for practical purposes the same as Remote Desktop Services (used to be Terminal Services) environment.
Microsoft has published Remote Desktop Services Programming Guidelines on MSDN, which is a good starting point to get a feel for what you need to be thinking about.
Microsoft UK Application Development Consulting group has a guide on Developing .NET applications for deployment on Terminal Services or Citrix , which is more performance focused.
You can get free development licenses for Citrix for 12 months, which may be useful for testing.
We've done some deployment to Citrix, and the thing that caught us out must was the Citrix admins fiddling with the permissions for their users. They sometimes broke major parts of Windows, in which case the only thing you can do is log lots :)
good luck!
听起来您没有使用
System.Environment。 GetFolderPath(...)
,这是访问用户配置文件目录的正确方法。这是我过去在 Citrix 环境中成功使用的方法。Sounds like you're not using
System.Environment.GetFolderPath(...)
, which is the correct way to get to the user profile directories. This is the approach I've used in the past with success with Citrix environments.