Как определить, находится ли файл в сети? - PullRequest
2 голосов
/ 03 января 2012

Справочная информация: мы используем базу данных SQLCE в нашем приложении Windows.Некоторые пользователи предпочитают хранить эту базу данных в сети для легкого обмена между пользователями (не одновременно).Когда база данных открывается на сетевом диске, мы хотим скопировать базу данных в локальную папку для повышения производительности и обратно, когда приложение закрывается.Причина этого заключается в том, что в некоторых сетях производительность просто неприемлема (и да, пользователь не должен размещать базу данных там, а они это делают).

Наше текущее обнаружение сетевого файла просто используетDriveInfo и DriveType == DriveType.Network, но при этом также ловятся локальные папки, сопоставленные с диском, и другие подобные сценарии (сообщаемые пользователями).Есть ли лучший способ действительно определить, находится ли файл в сети, или, что еще лучше, использовать медленное соединение любого типа (позднее, возможно, потребуется какое-то измеренное чтение большого файла, что нам не очень интересно, поэтому мысоглашусь на первую часть)?Я не думаю, что .Net напрямую поддерживает это, но P / Invoke также хорош.

Заранее спасибо.

1 Ответ

0 голосов
/ 03 января 2012
...