Доступ к файлам из сетевого пути UNC в приложении C # - PullRequest
0 голосов
/ 25 августа 2018

У меня есть настольное приложение, в котором пользователь может указывать входные и выходные каталоги. Это хорошо работает для локальных каталогов, но люди стали жаловаться на сетевые местоположения, к которым обращаются с помощью соглашений об именах UNC.

Если пользователь вставляет путь UNC, код проверяет, существует ли каталог, используя следующий метод

if(Directory.Exists(selecteddir)
{
  // all good
}

Этот метод возвращает значение false для некоторых сетевых расположений, расположенных на других компьютерах. Я проверилпо умолчанию используется локальная машина UNC Path \\?\C:\my_dir и код работает нормально.Приложение работает с правами администратора.

Я новичок в доступе к сетевым расположениям в C # Code. Есть ли какой-то конкретный способ сделать это?Если пользователь уже выполнил аутентификацию на основе Windows для общих ресурсов UNC, разве эти ресурсы не будут доступны приложению c #?

Пожалуйста, посоветуйте, как двигаться дальше.

Обновление:

Я также пытался использовать информацию каталога

DirectoryInfo info1 = new DirectoryInfo(@textbox.Text);
if (info1.Exists)
 {
 return true;
 }

1 Ответ

0 голосов
/ 25 августа 2018

Я сталкивался с этой ситуацией много раз.В конце концов, я считаю, что есть проблема с методом Directory.Exist, и я оставляю его.

Теперь я использую класс DirectoryInfo, чтобы проверить это следующим образом.

DirectoryInfo info = new DirectoryInfo(@"Your Path");
if (info.Exists)
{

}

Пока работает нормально.Так что есть и другие причины, но у меня это работает.И, конечно, это не решает проблему олицетворения.

...