private void FileNewCopyFinished(MultipartRequestUploadResponse uploadFilesResponse) { object[] state = (object[])uploadFilesResponse.UserState; OperationFinished<FileNewCopyResponse> fileNewCopyCompleted = (OperationFinished<FileNewCopyResponse>)state[0]; FileNewCopyResponse fileNewCopyResponse = uploadFilesResponse.Error == null ? MessageParser.Instance.ParseFileNewCopyResponseMessage( uploadFilesResponse.Status) : new FileNewCopyResponse(); fileNewCopyResponse.UserState = state[1]; fileNewCopyResponse.Error = uploadFilesResponse.Error; fileNewCopyCompleted(fileNewCopyResponse); }
private void OverwriteFileFinished(MultipartRequestUploadResponse uploadFilesResponse) { object[] state = (object[]) uploadFilesResponse.UserState; OperationFinished<OverwriteFileResponse> overwriteFileCompleted = (OperationFinished<OverwriteFileResponse>) state[0]; OverwriteFileResponse overwriteFileResponse = uploadFilesResponse.Error == null ? MessageParser.Instance.ParseOverwriteFileResponseMessage( uploadFilesResponse.Status) : new OverwriteFileResponse(); overwriteFileResponse.UserState = state[1]; overwriteFileResponse.Error = uploadFilesResponse.Error; overwriteFileCompleted(overwriteFileResponse); }
private void UploadFilesFinished(MultipartRequestUploadResponse uploadFilesResponse) { object[] state = (object[]) uploadFilesResponse.UserState; OperationFinished<UploadFileResponse> filesUploadCompleted = (OperationFinished<UploadFileResponse>) state[0]; UploadFileResponse response = uploadFilesResponse.Error == null ? MessageParser.Instance.ParseUploadResponseMessage(uploadFilesResponse.Status) : new UploadFileResponse(); response.FolderID = (long) state[2]; response.UserState = state[1]; response.Error = uploadFilesResponse.Error; filesUploadCompleted(response); }
private void UploadCompleted(IAsyncResult asyncResult) { State state = (State) asyncResult.AsyncState; bool stopExecution = false; MultipartRequestUploadResponse response = new MultipartRequestUploadResponse { UserState = state.UserState }; try { state.Writer.EndWrite(asyncResult); } catch(Exception ex) { response.Error = ex; stopExecution = true; } finally { try { state.Writer.Close(); state.Writer.Dispose(); } catch { } } if (!stopExecution) { HttpWebResponse myHttpWebResponse = null; try { myHttpWebResponse = (HttpWebResponse)state.Request.GetResponse(); using (Stream responseStream = myHttpWebResponse.GetResponseStream()) { TextReader reader = new StreamReader(responseStream); response.Status = reader.ReadToEnd(); } } catch (Exception ex) { response.Error = ex; } finally { if(myHttpWebResponse != null) { try { myHttpWebResponse.Close(); ((IDisposable)myHttpWebResponse).Dispose(); } catch { } } } } state.CallbackMethod(response); }