Самый быстрый способ определить сетевой путь существует - PullRequest
3 голосов
/ 01 ноября 2011

В моем приложении мне нужно найти сетевой путь и выполнить некоторую обработку, основываясь на существовании папки. Давайте возьмем пример, мне нужно искать путь в сети, и если путь существует, я должен включить некоторые элементы управления, в противном случае мне нужно отключить элементы управления. Я попытался использовать объект DirectoryInfo и получить правильные значения:

    DirectoryInfo dirInfo = new DirectoryInfo(@"\ServerIPAddress\FolderName");

    if(dirInfo.Exists)
    {
            //do something
    }
    else
    {
           //do something else
    }

Проблема с приведенным выше кодом заключается в том, что для получения свойства Exists требуется более 2 минут.

Есть ли более быстрый способ проверить наличие сетевого пути.

Спасибо и всего наилучшего,
Ашиш Шарма

1 Ответ

2 голосов
/ 01 ноября 2011

Обычно это занимает время, только если папка не существует по указанному пути. Вы можете использовать другой поток для проверки существования папки, как описано здесь (вместе с делегатами): Как избежать сетевых сбоев в GetFileAttributes?

Также вы можете проверить этот связанный вопрос: Как: предотвратить тайм-аут при проверке недоступного сетевого ресурса - C #

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...