【问题标题】:Semaphore timeout period has expired信号量超时期限已过
【发布时间】:2012-09-03 06:52:10
【问题描述】:

我有一个简单的 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
        {

        }

【问题讨论】:

    标签: c# file-copying


    【解决方案1】:

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

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

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

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

    编辑:添加硬盘。

    【讨论】:

      【解决方案2】:

      similar Error 上查看这些 MS 指令,这似乎是已知的通过网络复制文件时的问题

      故障排除步骤:

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

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

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

      (KB929135) 如何通过在 视窗 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. 无线网络适配器和无线路由器的型号。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2015-08-05
          • 2014-04-13
          • 1970-01-01
          • 1970-01-01
          • 2014-09-24
          • 2012-12-09
          • 2017-02-06
          • 1970-01-01
          相关资源
          最近更新 更多