コード例 #1
0
        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
                });
            }
        }