我得到一个奇怪的问题,我似乎有读取权限,因为我可以 1.从目录中获取文件列表(Directory.GetFiles ()) 2.使用XmlDocument实例的Load()方法加载XML文档ASP.NET文件IO问题 - System.UnauthorizedAccessException - 比你想象的更陌生
但我无法使用File.ReadAllText()将文本文件加载到内存中。给我一个System.UnauthorizedAccessException。我甚至不试图从网络目录读取,只是本地目录。我还使用System.Security.Principal.WindowsIdentity.GetCurrent()。Name来检查工作用户是[CompanyDomain]/[MyUserName],并且此用户可以完全访问我正在使用的目录。我也检查过目录实际存在。
我的环境 1. Windows Server 2003标准版 2. Visual Studio 2008中 3.只需使用内置在推出每一次我运行该项目时Web服务器。
注意:我在这台机器上找不到IUSR_MACHINENAME用户。
任何想法我应该采取什么步骤?
干杯, 詹姆斯
我认为“路径指定了一个只读文件”从MSDN帮助部分的文档编写者复制和粘贴东西只是结果...... ReadAllText方法在文件上打开一个StreamReader,然后在读取模式下打开一个FileStream,并以共享模式读取。 – KristoferA
@KristoferA,谢谢你检查这个。我认为[MSFT文档编辑器的疏忽]可能就是这种情况,但确认这一点很好。因此,我猜想OP会留下我最初的建议,看看文件审计可以揭示什么,然后从那里拿走它... – mjv
感谢您的帮助,原来是一个复制和粘贴错误,试图读取目录而不是文件 –