C# Получение System.Evironment при запуске от имени RemoteApp

У меня есть приложение C#, настроенное как удаленное приложение, работающее на сервере.

Когда приложение запускается, я беру папку MyDocuments из System.Environment, чтобы сохранить созданные пользователем файлы. Путь к MyDocuments, который я получаю, естественно, находится на сервере.

Есть ли способ получить путь к папке MyDocuments на клиентском компьютере? Или хотя бы каким-нибудь способом получить имя (или IP-адрес) компьютера, который вызвал удаленное приложение?

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

Если ничего из этого не существует, я использую папку на "сервере" удаленного приложения.

Не самый элегантный, но работает.

Другие вопросы по тегам