我正在使用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
{
}
为什么会这样?
答案 0 :(得分:2)
这是因为您运行应用程序的用户无权读取这些文件夹。您可能需要将这些文件夹的读取权限授予您运行站点的帐户。
答案 1 :(得分:1)
请尝试System.IO.Directory.Exists(string path)
。
答案 2 :(得分:0)
您的ASP.NET应用程序对本地网络中其他计算机上的文件夹没有权限。
尝试使用在LocalService帐户下启动的Windows服务。