检查路径是否在网络上
在我的应用程序中,我有一个对话框,用户可以在其中选择数据库备份位置。
我想警告用户他/她选择的位置是“可能不安全”。
我想考虑以下位置安全:
- 当选定的文件夹在网络上时
(通过映射驱动器(I:\Backup
)或UNC表示法(\\server2\backup
)) - 所选文件夹与数据库文件夹位于不同的物理磁盘上时
如何获得有关所选文件夹的此类信息?
我知道DriveInfo
类,但它只处理驱动器号,而不是UNC路径。
看一下PathIsNetworkPath函数:
class Program { [DllImport("shlwapi.dll")] private static extern bool PathIsNetworkPath(string pszPath); static void Main(string[] args) { Console.WriteLine(PathIsNetworkPath("i:\Backup")); } }
看看DirectoryInfo
对象。 在所选路径上打开一个,您可以检查很多东西。 也许您可能想要获取DirectorySecurity
并检查路径是否被锁定。
主动程序员可以为他/她的应用程序备份创建一个新文件夹,并自己创建一个强ACL …