internal static void CleanupRequest(UploadRequest request)
        {
            try
            {
                // If this request hasn't had time to autoclose, wait a tick
                if ((DateTime.Now - request.LastUpdated).TotalSeconds < 2)
                {
                    System.Threading.Thread.Sleep(2000);
                }

                foreach (UploadedFile file in new List <UploadedFile>(request._uploadedFilesInternal))
                {
                    request.UploadStreamProvider.RemoveOutput(file);
                }
            }
            catch (Exception ex)
            {
                // TODO: store this always?
                if (request.Error == null)
                {
                    request.Error     = new ApplicationException("Error cleaning up request " + request.UploadRequestId + ". Request may still be processing, but should self cleanup when complete.", ex);
                    request.ErrorType = UploadErrorType.Other;

                    UpdateRequest(request, true);
                }
            }
        }
        internal static void CancelRequest(UploadRequest request)
        {
            try
            {
                if (request.State != UploadState.Uploading)
                {
                    CleanupRequest(request);
                }
            }
            catch (Exception ex)
            {
                // TODO: store this always?
                if (request.Error == null)
                {
                    request.Error     = ex;
                    request.ErrorType = UploadErrorType.Other;
                }
            }
            finally
            {
                request.State     = UploadState.Error;
                request.ErrorType = UploadErrorType.Cancelled;

                UpdateRequest(request, true);
            }
        }
        internal static void UpdateRequest(UploadRequest request, bool isForceUpdate)
        {
            if (isForceUpdate || (DateTime.Now - request.LastUpdated).TotalSeconds > Config.SessionStorageProvider.UpdateInterval)
            {
                request.LastUpdated = DateTime.Now;

                SessionStorageProvider.SaveRequest(request, false);
            }
        }
        internal static void UpdateRequest(UploadRequest request, bool isForceUpdate)
        {
            if (isForceUpdate || (DateTime.Now - request.LastUpdated).TotalSeconds > Config.SessionStorageProvider.UpdateInterval)
            {
                request.LastUpdated = DateTime.Now;

                SessionStorageProvider.SaveRequest(request, false);
            }
        }
Exemple #5
0
        internal UploadedFile(string fileName, string contentType, string sourceElement, UploadRequest request, UploadHttpRequest httpRequest)
        {
            // TODO: ensure this is cross-platform compatible
            ClientName = GetFileName(fileName);
            //_fileName = fileName;
            ContentType   = contentType;
            SourceElement = sourceElement;

            Data = new Dictionary <string, string>();

            UploadRequest     = request;
            UploadHttpRequest = httpRequest;
        }
Exemple #6
0
        internal UploadedFile(string fileName, string contentType, string sourceElement, UploadRequest request, UploadHttpRequest httpRequest)
        {
            // TODO: ensure this is cross-platform compatible
            ClientName = GetFileName(fileName);
            //_fileName = fileName;
            ContentType = contentType;
            SourceElement = sourceElement;

            Data = new Dictionary<string, string>();

            UploadRequest = request;
            UploadHttpRequest = httpRequest;
        }
Exemple #7
0
        internal UploadedFile(object[] values, UploadRequest request)
        {
            if (values == null || values.Length != 6)
            {
                throw new FormatException("Invalid deserialization data.");
            }

            ClientName     = (string)values[0];
            ServerLocation = (string)values[1];
            ContentType    = (string)values[2];
            SourceElement  = (string)values[3];
            ContentLength  = (long)values[4];

            Data = SerializationHelper.DeserializeDictionary(values[5]);

            UploadRequest = request;
        }
 internal static void InsertRequest(UploadRequest request)
 {
     SessionStorageProvider.SaveRequest(request, true);
 }
        internal static void CleanupRequest(UploadRequest request)
        {
            try
            {
                // If this request hasn't had time to autoclose, wait a tick
                if ((DateTime.Now - request.LastUpdated).TotalSeconds < 2)
                    System.Threading.Thread.Sleep(2000);

                foreach (UploadedFile file in new List<UploadedFile>(request._uploadedFilesInternal))
                    request.UploadStreamProvider.RemoveOutput(file);
            }
            catch (Exception ex)
            {
                // TODO: store this always?
                if (request.Error == null)
                {
                    request.Error = new ApplicationException("Error cleaning up request " + request.UploadRequestId + ". Request may still be processing, but should self cleanup when complete.", ex);
                    request.ErrorType = UploadErrorType.Other;

                    UpdateRequest(request, true);
                }
            }
        }
        internal static void CancelRequest(UploadRequest request)
        {
            try
            {
                if (request.State != UploadState.Uploading)
                    CleanupRequest(request);
            }
            catch (Exception ex)
            {
                // TODO: store this always?
                if (request.Error == null)
                {
                    request.Error = ex;
                    request.ErrorType = UploadErrorType.Other;
                }
            }
            finally
            {
                request.State = UploadState.Error;
                request.ErrorType = UploadErrorType.Cancelled;

                UpdateRequest(request, true);
            }
        }
 internal static void InsertRequest(UploadRequest request)
 {
     SessionStorageProvider.SaveRequest(request, true);
 }
Exemple #12
0
        internal UploadedFile(object[] values, UploadRequest request)
        {
            if (values == null || values.Length != 6)
                throw new FormatException("Invalid deserialization data.");

            ClientName = (string)values[0];
            ServerLocation = (string)values[1];
            ContentType = (string)values[2];
            SourceElement = (string)values[3];
            ContentLength = (long)values[4];

            Data = SerializationHelper.DeserializeDictionary(values[5]);

            UploadRequest = request;
        }