Некорректное получение директории
Есть диалоговое окно с выбором файла. Только после выбора файла путь до папки с ним записывается в глобальную статическую переменную.
using (var openFileDialog = new OpenFileDialog())
if (openFileDialog.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
string fileName = openFileDialog.FileName.ToUpper();
Form1.CurrentPath = Path.GetDirectoryName(fileName) + "\\";
}
И после этого создаётся объект, который использует эту переменную для получения файла в эту папку.
При локальном запуске программы путь получается корректно и всё работает нормально, все файлы записываются туда же, откуда был получен исходный файл.
При работе же с программой через citrix, полученный файл может упасть в папку, откуда был открыт исходный файл, а может пытаться положить его в папку с exe'шником и естественно вылетает исключение "Не хватает прав на запись в эту папку" и теряются полученные данные.
Сама переменная Form1.CurrentPath задаётся и меняется только при открытии нового файла. Объект для получения файла-ответа создаётся только в момент первого открытия файла для получения ключа сессии. При последующих открытиях файлов меняется только его поле requestManager.downloadPath = Form1.CurrentPath;
С чем может быть связано такое поведение программы? Посоветуйте как отловить в какой момент вообще может поменяться путь до открытого файла.