4

我有一个简单的 C# 程序,可以将文件从一个网络共享复制到另一个。该程序刚刚抛出“信号量超时期限已过期”错误。我以前从未见过这个,我对它是什么感到有点困惑。

代码非常简单:(从配置设置中读取 srcPath 和 destPath)

DirectoryInfo di = new DirectoryInfo(srcPath);

        try
        {

            FileInfo[] files = di.GetFiles();

            foreach (FileInfo fi in files)
            {
                if(!(fi.Name.Contains("_desc")))
                {
                    File.Copy(fi.FullName, destPath + fi.Name, true);
                }
            }
        }
        catch (Exception xx)
        {
            SendMail(xx.Message, xx.StackTrace);
        }
        finally
        {

        }
4

3 回答 3

3

这往往是一个通用的错误消息,可能与三种可能性有关:

  1. 连接相关。检查您的网络电缆、USB 连接/电缆、重置 USB 集线器、网络交换机等。

  2. 检查过长的文件名或过长的路径。

  3. 硬盘相关。检查您有足够的可用空间并且驱动器没有错误并且没有碎片。

编辑:添加硬盘。

于 2012-09-10T12:03:40.167 回答
1

看看这些关于类似错误的 MS 指令,这似乎是已知问题 whencoping files over network

故障排除步骤:

  1. 更新两台计算机中无线网络适配器的驱动程序。

  2. 暂时禁用所有防火墙和防病毒应用程序,然后再次检查问题。

  3. 要从其他服务和应用程序中排除这些因素,请执行干净启动以检查问题并执行步骤 4。

(KB929135) 如何通过在 Windows Vista 中执行干净启动来解决问题 http://support.microsoft.com/default.aspx?scid=kb;EN-US;929135

  1. 使用干净启动,尝试应用以下知识库文章中包含的修补程序:

(KB932045) 当您使用网络连接将大文件从一台基于 Windows Vista 的计算机复制到另一台基于 Windows Vista 的计算机时出现错误消息:“连接已丢失” http://support.microsoft.com/default。 aspx?scid=kb;EN-US;932045

(KB932063) 当您在无线网络环境中工作时,在基于 Windows Vista 的计算机上会出现几个问题 http://support.microsoft.com/default.aspx?scid=kb;EN-US;932063

如果经过上述步骤后问题仍然存在,这个问题很可能是由于网络设备或配置,请告诉我:

  1. 这个问题是否出现在有线网络中?

  2. 如果加强网络信号,问题能改吗?

  3. 什么大小的文件会导致这个错误。

  4. 此错误是否会终止复制过程?

  5. 无线网卡和无线路由器的型号。

于 2012-09-10T12:04:25.893 回答
0

当我通过 USB 连接的 Drobo 驱动器阵列中的硬盘出现故障时,我会遇到这种情况

于 2012-12-16T18:04:13.607 回答