Exemple #1
0
        public UploadApplicationResponse UploadApplication(UploadApplicationRequest request)
        {
            Log.Info(this, "UploadApplication()");

            try
            {
                UploadApplicationResponse response = new UploadApplicationResponse();

                string basePath = GetApplicationStorePath();
                if (!Directory.Exists(basePath))
                {
                    Directory.CreateDirectory(basePath);
                }

                string serverFileName = Path.Combine(basePath, request.Metadata.RemoteFileName);
                using (FileStream outfile = new FileStream(serverFileName, FileMode.Create))
                {
                    const int bufferSize = 65536; // 64K

                    Byte[] buffer    = new Byte[bufferSize];
                    int    bytesRead = request.FileByteStream.Read(buffer, 0, bufferSize);

                    while (bytesRead > 0)
                    {
                        outfile.Write(buffer, 0, bytesRead);
                        bytesRead = request.FileByteStream.Read(buffer, 0, bufferSize);
                    }
                    outfile.Close();
                }

                //using (ZipFile zip = ZipFile.Read(serverFileName, options))
                {
                    if (!MonoscapeUtil.WebConfigExistsInRoot(serverFileName))
                    {
                        if (File.Exists(serverFileName))
                        {
                            File.Delete(serverFileName);
                        }
                        throw new MonoscapeException("Application package is not valid. Re-package the application excluding any project folders and try again.");
                    }
                }

                Application application = new Application();
                application.Id       = request.Metadata.ApplicationId;
                application.Name     = request.Metadata.ApplicationName;
                application.Version  = request.Metadata.ApplicationVersion;
                application.FileName = Path.GetFileName(serverFileName);
                application.State    = ApplicationState.Uploaded;

                ApplicationUploaded(application);
                return(response);
            }
            catch (Exception e)
            {
                Log.Error(this, e);
                throw e;
            }
        }
        public UploadApplicationResponse UploadApplication(UploadApplicationRequest request)
        {
            Log.Info(this, "UploadApplication()");

            try
            {
                UploadApplicationResponse response = new UploadApplicationResponse();

                string basePath = GetApplicationStorePath();
                if (!Directory.Exists(basePath))
                    Directory.CreateDirectory(basePath);

                string serverFileName = Path.Combine(basePath, request.Metadata.RemoteFileName);
                using (FileStream outfile = new FileStream(serverFileName, FileMode.Create))
                {
                    const int bufferSize = 65536; // 64K

                    Byte[] buffer = new Byte[bufferSize];
                    int bytesRead = request.FileByteStream.Read(buffer, 0, bufferSize);

                    while (bytesRead > 0)
                    {
                        outfile.Write(buffer, 0, bytesRead);
                        bytesRead = request.FileByteStream.Read(buffer, 0, bufferSize);
                    }
                    outfile.Close();
                }

                //using (ZipFile zip = ZipFile.Read(serverFileName, options))
                {
                    if (!MonoscapeUtil.WebConfigExistsInRoot(serverFileName))
                    {
                        if (File.Exists(serverFileName))
                            File.Delete(serverFileName);
                        throw new MonoscapeException("Application package is not valid. Re-package the application excluding any project folders and try again.");
                    }
                }

                Application application = new Application();
                application.Id = request.Metadata.ApplicationId;
                application.Name = request.Metadata.ApplicationName;
                application.Version = request.Metadata.ApplicationVersion;
                application.FileName = Path.GetFileName(serverFileName);
                application.State = ApplicationState.Uploaded;

                ApplicationUploaded(application);
                return response;
            }
            catch (Exception e)
            {
                Log.Error(this, e);
                throw e;
            }
        }