使用Windows服务我们可以将文件从一台计算机复制到另一台计算机C#.net吗?

时间:2010-05-13 15:36:42

标签: c#

我有一项服务会为本地机器创建一个文本文件,然后需要将同一文件复制到另一台服务器。

我正在使用“File.Copy(SourceFilePath,TargetFilePath,true);” 并在目标文件路径上获取异常“访问被拒绝。我可以手动将文件复制到该位置(TargetFilePath)。

任何想法,出了什么问题?

我没有与此目标位置的任何网络驱动器映射。

先谢谢

4 个答案:

答案 0 :(得分:2)

这是一个经典的权限问题。您需要确保该服务在具有复制文件功能的用户的上下文中运行。由于您需要复制文件,我建议您使用Backup Operators组中的用户,尽管您可能希望对您的方案有更严格的限制。

编辑:由于您还要复制到另一台服务器,因此您的用户也需要拥有该服务器的权限。为此,您可以在域帐户下运行您的服务(假设您的计算机都在域中)。您还可以使用具有相同代码的控制台应用程序上的“运行方式...”选项进行测试 - 这样您就可以在设置服务之前调试权限问题。

答案 1 :(得分:0)

运行该服务的帐户必须能够访问另一台计算机。

答案 2 :(得分:0)

您可以从源计算机手动将文件复制到目标吗?

C:> Xcopy \ sourcemachine \ dir * .txt \ TargetMachine \ dir \ / Y / K / D / C

如果问题与代码或权限有关,那应该可以帮助您缩小范围。

答案 3 :(得分:0)

如果您没有在域上运行,则您的代码可以在拥有权限的其他计算机上模拟用户。