我想创建一个xml文件。我是包含创建文件的文件夹的所有者。我的代码创建了一个空文件,当我调试时,我获得了此行的访问被拒绝错误
Stream writeOutput = File.Create(Path.Combine(outputLocation, string.Format(FILEFORMAT, agent, Number, FILE_EXTENSIONS.XML)))
请帮助
这是我的代码:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (Stream writeOutput = File.Create(Path.Combine(outputLocation, string.Format(FILEFORMAT, agent, Number, FILE_EXTENSIONS.XML))))
{
using (Stream xmlOutput = OutputFileCreator.CreateOutputXMLFile(Number, rejectionReason))
{
byte[] buffer = new byte[xmlOutput.Length];
xmlOutput.Position = 0;
xmlOutput.Read(buffer, 0, buffer.Length);
writeOutput.Write(buffer, 0, buffer.Length);
}
}
});
答案 0 :(得分:2)
您运行此应用程序池标识的是什么?
SPSecurity.RunWithElevatedPrivileges(delegate()
导致代码块在具有网站集管理员权限的App Pool标识下运行。该身份是否具有适当的权限?
见这里:
答案 1 :(得分:1)
您可能必须让您的计算机可以访问该文件夹,而不仅仅是您的用户。尝试向文件夹或YourMachineName $属性中的每个人添加共享权限,以指示您的物理机可以访问。