예제 #1
0
        /// <summary>
        /// BeginInvoke方法执行完成后调用该异步委托回调方法
        /// </summary>
        /// <param name="iar">用于监视异步调用进度</param>
        private void IsZipComplete(IAsyncResult iar)
        {
            AsyncResult ar = (AsyncResult)iar;

            myZip = (AsycMyZipZipDir)ar.AsyncDelegate;
            myZip.EndInvoke(iar);
            Thread.Sleep(1000);
            //MessageBox.Show("压缩upload文件夹成功!");
            //isZipCompleteMark = true;
            fsUpload = new FileStream(ZipedFile, FileMode.Open, FileAccess.Read);

            myUploadFile = new AsycUploadFile(wcfclient.UpLoadFile);
            myUploadFile.BeginInvoke(fsUpload, new AsyncCallback(isUploadComplete), null);


            /*
             * //bool a = wcfclient.getBytes(bytes1);
             * fs.Read(bytes1, 0, bytes1.Length);
             * fs.Close();
             * fs.Dispose();
             * bool b = wcfclient.GetUpLoadBytes(bytes1, DateTime.Now, "upload");*/
        }
예제 #2
0
 /// <summary>
 /// 异步回调方法判断是否上传Upload压缩文件成功
 /// </summary>
 /// <param name="iar"></param>
 private void isUploadComplete(IAsyncResult iar)
 {
     try
     {
         AsyncResult ar = (AsyncResult)iar;
         myUploadFile = (AsycUploadFile)ar.AsyncDelegate;
         if (myUploadFile.EndInvoke(iar))
         {
             fsUpload.Close();
             fsUpload.Dispose();
             ///上传成功后记录在XML中
             UpdateHisRecord();
             //portableDevices[0].CopyFolderToPad(lastObjDown, wcfdownloadpath + @"\EquipInfo.xml");
             n = n + 1;
             //删除已上传文件夹uploadRefesh
             DeleteDirectory(DirToZip);
         }
     }
     catch (Exception ex)
     {
         LogHelper.LogWrite(ex);
     }
     iar.AsyncWaitHandle.Close();
 }