Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查路径是否在网络上_C#_.net_Vb.net - Fatal编程技术网

C# 检查路径是否在网络上

C# 检查路径是否在网络上,c#,.net,vb.net,C#,.net,Vb.net,在我的应用程序中,我有一个对话框,用户可以在其中选择数据库备份位置。 如果用户选择的位置“可能不安全”,我想警告用户 我想考虑以下位置安全: 当所选文件夹位于网络上时 (通过映射驱动器(I:\Backup)或UNC表示法(\\server2\Backup) 当选定文件夹位于与数据库文件夹不同的物理磁盘上时 如何获取有关选定文件夹的此类信息? 我知道DriveInfo类,但它只处理驱动器号,不处理UNC路径。看看DirectoryInfo对象。在选定的路径上打开一个,您可以检查许多内容。也许您需要

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

我想考虑以下位置安全:

  • 当所选文件夹位于网络上时
    (通过映射驱动器(
    I:\Backup
    )或UNC表示法(
    \\server2\Backup
  • 当选定文件夹位于与数据库文件夹不同的物理磁盘上时
  • 如何获取有关选定文件夹的此类信息?

    我知道
    DriveInfo
    类,但它只处理驱动器号,不处理UNC路径。

    看看
    DirectoryInfo
    对象。在选定的路径上打开一个,您可以检查许多内容。也许您需要获取
    目录安全性
    ,并检查路径是否已锁定

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

    看看该功能:

    class Program
    {
        [DllImport("shlwapi.dll")]
        private static extern bool PathIsNetworkPath(string pszPath);
    
        static void Main(string[] args)
        {
            Console.WriteLine(PathIsNetworkPath("i:\Backup"));
        }
    }
    

    嗨,强盗!如果下面的一个答案提供了一个可行的解决方案,请您接受这个答案,这样这个问题就不再显示为
    未回答
    。非常感谢。仅供参考:该函数不验证指定的网络资源是否存在、当前是否可访问或用户是否有足够的权限访问它。