[英]C# Windows Service Access denied when trying to write in a folder
我已经在Windows 7计算机上成功部署了C#Windows服务。
现在,当我尝试使用以下代码创建文件时:
FileStream os = new FileStream(String.Format(folderName, fileName), FileMode.Create);
我得到对文件路径的访问被拒绝。
在服务安装程序中,我将以下参数设置为:
this.serviceProcessInstaller1.Account =
System.ServiceProcess.ServiceAccount.LocalSystem;
this.serviceProcessInstaller1.Password = "Pass";
this.serviceProcessInstaller1.Username = "Administrator"
我将所有具有完全权限的帐户添加到了我要创建文件的文件夹中,但是没有任何帮助。
任何建议将不胜感激
您以错误的方式使用String.Format()
。 查看msdn http://msdn.microsoft.com/zh-cn/library/fht0f5be.aspx 。
您可能想要类似
FileStream os = new FileStream(folderName +@"\" + fileName, FileMode.Create);
要么
FileStream os = new FileStream(String.Format(@"{0}\{1}", folderName fileName), FileMode.Create);
要么
FileStream os = new FileStream(Path.Combine(folderName fileName), FileMode.Create);
可能不是答案。 但首先,请记录服务试图访问的确切路径。 然后,使用提供给服务的凭据登录到计算机,然后尝试访问该路径。
string fullPath = String.Format(folderName, fileName);
logger.Write(fullPath);
FileStream os = new FileStream(fullPath, FileMode.Create);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.