System.IO.DirectoryInfo中的奇怪行为。存在功能

时间:2010-11-13 12:21:30

标签: c# asp.net io directoryinfo

我正在使用c#和asp开发一个应用程序。它需要访问本地网络中的某些位置。表单中有一个文本框,它接受用户访问的路径,并将其存储到名为location的字符串变量中。

如果应用程序在Windows 7中运行,则if循环总是返回false,并且仅当我从已安装的应用程序运行时才会发生,否则如果路径为true则返回true。这是代码:

文本框BackupLocation的输入就像这样

 \\192.168.0.33\Others (F)

。如果应用程序托管在具有Windows XP的系统上,它可以正常工作

 System.IO.DirectoryInfo locationInfo = new System.IO.DirectoryInfo(BackupLocationTxt.Text);
        if (locationInfo.Exists) // always return false  if the application run in windows 7
       {

       }

为什么会这样?

3 个答案:

答案 0 :(得分:2)

这是因为您运行应用程序的用户无权读取这些文件夹。您可能需要将这些文件夹的读取权限授予您运行站点的帐户。

答案 1 :(得分:1)

请尝试System.IO.Directory.Exists(string path)

答案 2 :(得分:0)

您的ASP.NET应用程序对本地网络中其他计算机上的文件夹没有权限。

尝试使用在LocalService帐户下启动的Windows服务。