В моем приложении у меня есть диалоговое окно, в котором пользователь может выбрать местоположение резервного копирования базы данных.
Я хочу предупредить пользователя, если местоположение, которое он выбрал, "вероятно, не безопасно".
Я хочу считать следующие местоположения безопасными:
I:\Backup
) или нотация UNC (\\server2\backup
))Как я могу получить этот вид информации о выбранной папке?
Я знаю о DriveInfo
класс, но это только обрабатывает буквы дисков, не пути UNC.
Посмотрите на объект DirectoryInfo
. Откройте его на выбранном пути, и вы сможете проверить многие вещи. Возможно, вы захотите получить DirectorySecurity
и проверить, заблокирован ли путь.
Проактивный программист может создать новую папку для резервной копии своего приложения и создать сильный ACL...
Посмотрите на функцию PathIsNetworkPath:
class Program
{
[DllImport("shlwapi.dll")]
private static extern bool PathIsNetworkPath(string pszPath);
static void Main(string[] args)
{
Console.WriteLine(PathIsNetworkPath("i:\Backup"));
}
}