/// <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");*/ }
/// <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(); }