我有一项服务会为本地机器创建一个文本文件,然后需要将同一文件复制到另一台服务器。
我正在使用“File.Copy(SourceFilePath,TargetFilePath,true);” 并在目标文件路径上获取异常“访问被拒绝。我可以手动将文件复制到该位置(TargetFilePath)。
任何想法,出了什么问题?
我没有与此目标位置的任何网络驱动器映射。
先谢谢
答案 0 :(得分:2)
这是一个经典的权限问题。您需要确保该服务在具有复制文件功能的用户的上下文中运行。由于您需要复制文件,我建议您使用Backup Operators组中的用户,尽管您可能希望对您的方案有更严格的限制。
编辑:由于您还要复制到另一台服务器,因此您的用户也需要拥有该服务器的权限。为此,您可以在域帐户下运行您的服务(假设您的计算机都在域中)。您还可以使用具有相同代码的控制台应用程序上的“运行方式...”选项进行测试 - 这样您就可以在设置服务之前调试权限问题。
答案 1 :(得分:0)
运行该服务的帐户必须能够访问另一台计算机。
答案 2 :(得分:0)
您可以从源计算机手动将文件复制到目标吗?
C:> Xcopy \ sourcemachine \ dir * .txt \ TargetMachine \ dir \ / Y / K / D / C
如果问题与代码或权限有关,那应该可以帮助您缩小范围。
答案 3 :(得分:0)
如果您没有在域上运行,则您的代码可以在拥有权限的其他计算机上模拟用户。