System.IO.Copy操作间歇性地给出.Net 4.0 C#控制台应用程序中的访问被拒绝错误

问题描述 投票:0回答:2

我有一个用.Net Framework 4.0 C#编写的控制台应用程序。在应用程序中,我正在将文件从服务器的一个位置复制到另一位置。

这里是代码:

System.IO.File.Copy("sourceFile","destFile",true);

我创建了一个Windows调度程序,该调度程序每天在特定时间执行控制台应用程序。

如果我手动运行该代码,效果会很好。但是,通过调度程序运行它时,会间歇性地出现以下访问被拒绝的错误(例如,每10次出现一次)。

错误信息:拒绝访问路径“ destFile”]。其他信息(如果有)堆栈跟踪:位于Syste.IO.File.InternalCopy(字符串sourceFileName,字符串destFileName,布尔覆盖,布尔checkHost)的Syste.IO._Error.WinIOError(Int32 errorCode,字符串mayFullPath) ,字符串destFileName,布尔值覆盖)

我尝试在其他较低环境的服务器(Dev / Test)中重现该错误,但是无法重现该问题。已经多次删除任务计划程序并创建了新的任务计划程序,但是没有运气。一旦我重新运行代码,该问题就解决了,因为它本质上是完全断断续续的。已经给出了对源位置和目标位置的许可,因为它可以正常工作9/10次。

请告知您是否出现任何问题或需要其他信息以进行进一步的故障排除。

c# .net console-application access-denied file-copying
2个回答
1
投票

查看应用程序用户权限,可能是您用来运行应用程序的用户,错过了在所需路径中写入的权限。


1
投票

提示您已打开覆盖选项。如果其他应用程序打开了其中一个dest文件(正在被覆盖),您将收到一些错误消息。

© www.soinside.com 2019 - 2024. All rights reserved.