【发布时间】:2011-08-10 15:02:16
【问题描述】:
我正在使用 Visual Studio C# 从我正在使用的本地搜索工具中解析 XML 文档以查找文件位置。具体来说,我正在使用 c# 来查询用户是否有权访问某些文件并隐藏那些它无权访问的文件。我似乎有应该返回访问权限的文件,但是因为并非所有文件都是本地文件(IE 有些是没有正确名称的 Web 文件)它没有显示对应该显示访问权限的文件的访问权限。现在的错误是由使用 .aspx?i=573 的 url 引起的,是否有解决方法或者我将不得不删除所有这些文件... =/
编辑:更多信息...
我现在正在使用....
foreach (XmlNode xn in nodeList)
{
string url = xn.InnerText;
//Label1.Text = url;
try
{ using (FileStream fs = File.OpenRead(url)) { }
}
catch { i++; Label2.Text = i.ToString(); Label1.Text = url; }
}
问题是,当它尝试打开 ....aspx?i=573 之类的文件时,会将它们放入捕获堆栈中。如果我尝试打开文件但是文件打开就好了。 (IE 我有读取权限,但由于文件类型或文件名中附加了“?=”,它会将其扔到不可读的堆栈中。
我希望通过 url 或本地访问可以读取的所有内容都显示出来,否则它将为我捕获错误文件。
【问题讨论】:
-
如果你指定你得到什么样的错误并且一些代码sn-ps也会对读者有所帮助。
-
这并不是一个错误,因为它几乎按预期工作,问题是它过滤掉了我可以访问的对象。尽管谢谢,但我会添加更多信息。
-
还要避免使用try catch块来控制程序的流程
标签: c# xml url permissions directory