c#拒绝访问以创建新文件

时间:2016-08-17 14:28:33

标签: c# createfile

我想创建一个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);
                       }
              }    
    });

enter image description here

2 个答案:

答案 0 :(得分:2)

您运行此应用程序池标识的是什么?

SPSecurity.RunWithElevatedPrivileges(delegate()

导致代码块在具有网站集管理员权限的App Pool标识下运行。该身份是否具有适当的权限?

见这里:

https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

答案 1 :(得分:1)

您可能必须让您的计算机可以访问该文件夹,而不仅仅是您的用户。尝试向文件夹或YourMachineName $属性中的每个人添加共享权限,以指示您的物理机可以访问。

相关问题