给为大侠,我现在有这样一个问题,每晚做一个代理,定时的从数据库中取数据,然后根据每条数据的单号,去服务器上一个目录去查找对应的图片,如果图片存在,就返回图片的地址,并且更新到数据库中。
但是现在有个很奇怪的问题,就是用File.Exists方法去判断图片地址时,有的可以找到,而有的却找不到(是针对服务器上都有图片的一些单据号)。
但是我设置断点跟踪的时候,都可以找到,而做批量查找的时候,就有些找不到了。不知是什么原因。
查阅过File.Exists的资料,这个方法没有异常抛出。所以敬请各位高手给偶一些提示!
下面我将代码贴出:
     public ArrayList FindPicture(string company, string deliveryNo)
    {
        string path = GetDirectory(company) + DateTime.Now.Year.ToString() + @"\" + delivery;
string path1, path2, path3, path4; path1 = path + ".gif";
path2 = path + "-2.gif";
path3 = path + "-cust.gif";
path4 = path + "-hand.gif";        //因为有四种既定格式的图片
string[] paths = new string[]{path1, path2, path3, path4};         Utility u = new Utility();
         WindowsImpersonationContext impContext = u.NetWorkLoginForFindPicture();         if (impContext != null)
         {
            foreach (string s in paths)
            {
                 AsyncExistsFileDelegate del = new AsyncExistsFileDelegate(FindPicture);                 IAsyncResult ar = del.BeginInvoke(s, null, null);                 while(!ar.IsCompleted)
                 {
                      Thread.Sleep(10);
                  }                  bool ret = del.EndInvoke(ar);                   if (ret)
                     list.Add(s);
             }          }            return list;
      }    private bool FindPicture(string pictureUrl)
        {
            bool result = false;
            Thread.Sleep(2000);
            result = File.Exists(pictureUrl);            if (!result)
            {
                Thread.Sleep(1000);
                result = File.Exists(pictureUrl);
            }            return result;
        }