检查路径是否在网络上

时间:2010-02-11 09:52:00

标签: c# .net vb.net

在我的应用程序中,我有一个对话框,用户可以在其中选择数据库备份位置 我想警告用户他/她选择的位置“可能不安全”。

我想考虑以下地点安全:

  1. 当选择的文件夹在网络上时 (通过映射驱动器(I:\Backup)或UNC表示法(\\server2\backup))
  2. 当所选文件夹位于与数据库文件夹不同的物理磁盘上时
  3. 如何获取有关所选文件夹的此类信息?
    我知道DriveInfo类,但它只处理驱动器号,而不是UNC路径。

2 个答案:

答案 0 :(得分:18)

查看PathIsNetworkPath功能:

class Program
{
    [DllImport("shlwapi.dll")]
    private static extern bool PathIsNetworkPath(string pszPath);

    static void Main(string[] args)
    {
        Console.WriteLine(PathIsNetworkPath("i:\Backup"));
    }
}

答案 1 :(得分:0)

查看DirectoryInfo对象。在所选路径上打开一个,您可以检查很多东西。也许你可能想要获取DirectorySecurity并检查路径是否被锁定。

主动程序员可能会为他/她的应用程序备份创建一个新文件夹,并自己创建一个强大的ACL ...