在C#应用程序中从UNC网络路径访问文件

时间:2018-08-25 04:16:25

标签: c# .net network-programming unc

我有一个桌面应用程序,用户可以在其中指定输入和输出目录。对于本地目录来说一切正常,但是人们开始抱怨使用UNC命名约定访问的网络位置。

如果用户粘贴UNC路径,则代码使用以下方法检查目录是否存在

if(Directory.Exists(selecteddir)
{
  // all good
}

对于其他计算机上的某些网络位置,此方法返回false。我已经使用默认的本地计算机UNC路径\\?\C:\my_dir进行了测试,并且代码工作正常。 该应用程序具有管理权限。

使用C#代码访问网络位置尚不熟悉。是否有任何特定方法可以执行此操作?如果用户已经对UNC共享执行了基于Windows的身份验证,那么c#应用程序是否可以访问这些共享?

请就如何前进提出建议。

更新:

我也尝试过使用目录信息

DirectoryInfo info1 = new DirectoryInfo(@textbox.Text);
if (info1.Exists)
 {
 return true;
 }

1 个答案:

答案 0 :(得分:1)

我已经多次遇到这种情况。最后,我相信Directory.Exist方法存在一些问题,我将其保留。

现在,我正在使用DirectoryInfo类对此进行检查。

DirectoryInfo info = new DirectoryInfo(@"Your Path");
if (info.Exists)
{

}

目前工作正常。因此,还有其他原因,但对我有用。当然,它不能解决模拟问题。