我收到错误
{“访问路径'C:\ stored_PAC_history_10_4_2016.xml'是 拒绝。“}
当我执行以下代码db.save(path)
的指令时,它修改位于ASP.Net项目中给定路径的文件。
XDocument doc = XDocument.Load(path);
XElement root = new XElement("Command");
root.Add(new XElement("StartDateTime", _commandsLog.StartDateTime.ToString()));
root.Add(new XElement("CommandName", _commandsLog.CommandName));
root.Add(new XElement("Output", _commandsLog.Output));
root.Add(new XElement("UserOutput", _commandsLog.UserOutput));
root.Add(new XElement("Status", _commandsLog.Status.ToString()));
root.Add(new XElement("EndDateTime", _commandsLog.EndDateTime.ToString()));
root.Add(new XElement("UserName", _commandsLog.UserName));
doc.Element("CommandsLogs").Add(root);
doc.Save(path);
`
答案 0 :(得分:1)
如果您在本地调试应用程序,您可能会确保运行具有管理权限的Visual Studio(即Right-click > Run as Administrator
),因为从中生成的进程可能无法访问原本需要它的目录
否则,您可以检查以下某个角色的权限,具体取决于您使用的IIS版本,并确保其具有适当的权限:
IIS_IUSRS
IIS APPPOOL\DefaultAppPool
NETWORK_SERVICE
正如其他人所说,授予您的应用程序root权限不是一个好主意。如果您打算以任何类型的生产方式使用它(在本地计算机上运行的快速且脏的实用程序应用程序之外),您应该考虑在应用程序中使用子目录并从那里引用文件(即删除您尝试在项目中访问的文件,并相对于您的应用程序访问它们。