public SyncCompleteResponse Packet_Complete(SyncCompleteRequest complete) { try { FileUpload upload = _uploads.ContainsKey(complete.UploadID) ? _uploads[complete.UploadID] : null; if (upload == null) { return new SyncCompleteResponse() { Success = false } } ; _uploads.Remove(complete.UploadID); lock (upload) { upload.FinalWrite(); SyncRequest obj = upload.GetContext <SyncRequest>(); string fileName = upload.TargetPath; upload.Dispose(); SessionData session = SessionData.GetOrCreate(obj.SessionID); session.UpdatedFile(obj.FileID); return(new SyncCompleteResponse() { Success = true }); } } catch (Exception ex) { return(new SyncCompleteResponse() { Success = false, Message = "Failed due to exception:" + ex.Message }); } }