1

我将 C# 应用程序设置为在服务器上运行的远程应用程序。

当应用程序运行时,我从 System.Environment 中获取 MyDocuments 文件夹,以保存用户生成的文件。我返回的 MyDocuments 的路径自然是服务器上的路径。

有没有办法获取客户端机器的 MyDocuments 文件夹路径?或者至少以某种方式获取调用远程应用程序的机器的名称(或 IP)?

4

1 回答 1

1

找到了解决方案。

可以使用 \tsclient\\... 访问客户端计算机

我首先将我的应用程序中的 MyDocuments 路径默认为 Environment.SpecialFolder.MyDocuments 这当然是远程应用程序的“服务器”的机器。然后我检查客户端计算机上以下文件夹的存在和写入访问级别

\\tsclient\C\Users\<username>\Documents
\\tsclient\C\Users\<domainname>.<username>\Documents
\\tsclient\D\Users\<username>\Documents
\\tsclient\D\Users\<domainname>.<username>\Documents

然后对于 XP...

\\tsclient\C\Documents and Settings\<username>\Documents
\\tsclient\D\Documents and Settings\<username>\Documents

如果这些都不存在,那么我使用远程应用程序的“服务器”上的文件夹。

不是最优雅的,但它有效。

于 2013-04-29T20:09:05.330 回答