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
Если ничего из этого не существует, я использую папку на "сервере" удаленного приложения.
Не самый элегантный, но работает.