Esempio n. 1
0
        /// <summary>
        /// Creates a WebFarm
        /// </summary>
        /// <param name="settings">The settings of the WebFarm</param>
        /// <returns>If the WebFarm was added.</returns>
        public void Create(WebFarmSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            if (string.IsNullOrWhiteSpace(settings.Name))
            {
                throw new ArgumentException("WebFarm name cannot be null!");
            }



            //Get Farm
            ConfigurationElementCollection farms = this.GetFarms();
            ConfigurationElement           farm  = farms.FirstOrDefault(f => f.GetAttributeValue("name").ToString() == settings.Name);

            if (farm != null)
            {
                _Log.Information("WebFarm '{0}' already exists.", settings.Name);

                if (settings.Overwrite)
                {
                    _Log.Information("WebFarm '{0}' will be overriden by request.", settings.Name);

                    this.Delete(settings.Name);
                }
                else
                {
                    return;
                }
            }



            //Create Farm
            farm         = farms.CreateElement("webFarm");
            farm["name"] = settings.Name;



            //Add Server
            ConfigurationElementCollection servers = farm.GetCollection();

            foreach (string server in settings.Servers)
            {
                ConfigurationElement serverElement = servers.CreateElement("server");
                serverElement["address"] = server;

                servers.Add(serverElement);

                _Log.Information("Adding server '{0}'.", server);
            }

            farms.Add(farm);
            _Server.CommitChanges();

            _Log.Information("WebFarm created.");
        }
Esempio n. 2
0
            //Farms
            public void Create(WebFarmSettings settings)
            {
                if (settings == null)
                {
                    throw new ArgumentNullException("settings");
                }

                if (string.IsNullOrWhiteSpace(settings.Name))
                {
                    throw new ArgumentException("WebFarm name cannot be null!");
                }



                //Get Farm
                ConfigurationElementCollection farms = this.GetFarms();
                ConfigurationElement farm = farms.FirstOrDefault(f => f.GetAttributeValue("name").ToString() == settings.Name);

                if (farm != null)
                {
                    _Log.Information("WebFarm '{0}' already exists.", settings.Name);

                    if (settings.Overwrite)
                    {
                        _Log.Information("WebFarm '{0}' will be overriden by request.", settings.Name);

                        this.Delete(settings.Name);
                    }
                    else
                    {
                        return;
                    }
                }



                //Create Farm
                farm = farms.CreateElement("webFarm");
                farm["name"] = settings.Name;



                //Add Server
                ConfigurationElementCollection servers = farm.GetCollection();

                foreach (string server in settings.Servers)
                {
                    ConfigurationElement serverElement = servers.CreateElement("server");
                    serverElement["address"] = server;

                    servers.Add(serverElement);

                    _Log.Information("Adding server '{0}'.", server);
                }

                farms.Add(farm);
                _Server.CommitChanges();

                _Log.Information("WebFarm created.");
            }
Esempio n. 3
0
 public static void CreateWebFarm(this ICakeContext context, string server, WebFarmSettings settings)
 {
     using (ServerManager manager = BaseManager.Connect(server))
     {
         WebFarmManager
         .Using(context.Environment, context.Log, manager)
         .Create(settings);
     }
 }
 public static void CreateWebFarm(this ICakeContext context, string server, WebFarmSettings settings)
 {
     using (ServerManager manager = BaseManager.Connect(server))
     {
         WebFarmManager
             .Using(context.Environment, context.Log, manager)
             .Create(settings);
     }
 }
Esempio n. 5
0
 public static void CreateWebFarm(this ICakeContext context, WebFarmSettings settings)
 {
     context.CreateWebFarm("", settings);
 }
 public static void CreateWebFarm(this ICakeContext context, WebFarmSettings settings)
 {
     context.CreateWebFarm("", settings);
 }