Пример #1
0
        public void UpdateServerMappingConfig(MappingConfiguration.Dom.MappingConfiguration mappingConfiguration)
        {
            ManagementCommand command = GetManagementCommand(ManagementUtil.MethodName.UpdateServerMappingConfig);

            command.Parameters.AddParameter(mappingConfiguration);
            ExecuteCommandOnCacehServer(command);
        }
Пример #2
0
        private static string ToXml(MappingConfiguration.Dom.MappingConfiguration config)
        {
            StringBuilder sb = new StringBuilder();

            object[] configuration = new object[1];
            configuration[0] = config;
            ConfigurationBuilder cfgBuilder = new ConfigurationBuilder(configuration);

            cfgBuilder.RegisterRootConfigurationObject(typeof(ClientConfiguration.Dom.ClientConfiguration));
            sb.Append(cfgBuilder.GetXmlString());
            return(sb.ToString());
        }
Пример #3
0
 public static void UpdateMappingConfiguration(MappingConfiguration.Dom.MappingConfiguration configuration)
 {
     MappingConfiguration.Dom.MappingConfiguration config = LoadXml();
     if (configuration.ManagementIPMapping != null)
     {
         config.ManagementIPMapping = new ServerMapping(Management.Util.ManagementWorkFlow.GetUpdatedMappingList(config.ManagementIPMapping.MappingServers, configuration.ManagementIPMapping.MappingServers));
     }
     if (configuration.ClientIPMapping != null)
     {
         config.ClientIPMapping = new ServerMapping(Management.Util.ManagementWorkFlow.GetUpdatedMappingList(config.ClientIPMapping.MappingServers, configuration.ClientIPMapping.MappingServers));
     }
     SaveConfiguration(config);
 }
Пример #4
0
        private static MappingConfiguration.Dom.MappingConfiguration LoadXml()
        {
            MappingConfiguration.Dom.MappingConfiguration config = null;
            lock (_syncRoot)
            {
                if (String.IsNullOrEmpty(m_configFileName))
                {
                    CombinePath();
                }
                try
                {
                    ConfigurationBuilder configBuilder = new ConfigurationBuilder(m_configFileName);
                    configBuilder.RegisterRootConfigurationObject(typeof(Alachisoft.NCache.Management.MappingConfiguration.Dom.MappingConfiguration));
                    configBuilder.ReadConfiguration();

                    MappingConfiguration.Dom.MappingConfiguration mappingConfiguration = null;
                    Object[] configuration = configBuilder.Configuration;

                    if (configuration != null && configuration.Length > 0)
                    {
                        for (int i = 0; i < configuration.Length; i++)
                        {
                            mappingConfiguration = configuration[i] as MappingConfiguration.Dom.MappingConfiguration;
                            break;
                        }
                    }

                    config = mappingConfiguration;
                }
                catch (Exception)
                { }

                if (config == null)
                {
                    config = new Alachisoft.NCache.Management.MappingConfiguration.Dom.MappingConfiguration();
                }

                if (config.ManagementIPMapping == null)
                {
                    config.ManagementIPMapping = new ServerMapping();
                }

                if (config.ClientIPMapping == null)
                {
                    config.ClientIPMapping = new ServerMapping();
                }
            }
            return(config);
        }
Пример #5
0
 private static void UpdateServerMappings(MappingConfiguration.Dom.MappingConfiguration mappingConfiguration, string[] nodes)
 {
     if (nodes != null && mappingConfiguration != null)
     {
         foreach (string node in nodes)
         {
             try
             {
                 NCacheRPCService NCache      = new NCacheRPCService(node);
                 ICacheServer     cacheServer = NCache.GetCacheServer(new TimeSpan(0, 0, 0, 30));
                 cacheServer.UpdateServerMappingConfig(mappingConfiguration);
                 cacheServer.Dispose();
             }
             catch (Exception ex)
             {
             }
         }
     }
 }
Пример #6
0
        private static MappingConfiguration.Dom.MappingConfiguration GetServerMappings(string[] nodes)
        {
            if (nodes != null)
            {
                List <Mapping> managementIPMapping = new List <Mapping>();
                List <Mapping> clientIPMapping     = new List <Mapping>();
                foreach (string node in nodes)
                {
                    try
                    {
                        NCacheRPCService NCache      = new NCacheRPCService(node);
                        ICacheServer     cacheServer = NCache.GetCacheServer(new TimeSpan(0, 0, 0, 30));

                        Hashtable serverIPMapping = cacheServer.GetServerMappingForConfig();
                        if (serverIPMapping.Contains("management-ip-mapping"))
                        {
                            managementIPMapping.Add((Mapping)serverIPMapping["management-ip-mapping"]);
                        }
                        if (serverIPMapping.Contains("client-ip-mapping"))
                        {
                            clientIPMapping.Add((Mapping)serverIPMapping["client-ip-mapping"]);
                        }
                        cacheServer.Dispose();
                    }
                    catch (Exception ex)
                    {
                    }
                }
                if (managementIPMapping.Count == 0 && clientIPMapping.Count == 0)
                {
                    return(null);
                }
                MappingConfiguration.Dom.MappingConfiguration mappingConfiguration = new MappingConfiguration.Dom.MappingConfiguration();
                mappingConfiguration.ManagementIPMapping = new ServerMapping(managementIPMapping.ToArray());
                mappingConfiguration.ClientIPMapping     = new ServerMapping(clientIPMapping.ToArray());

                return(mappingConfiguration);
            }
            return(null);
        }
Пример #7
0
        private static void SaveConfiguration(MappingConfiguration.Dom.MappingConfiguration config)
        {
            lock (_syncRoot)
            {
                if (m_configFileName == null || m_configFileName == "")
                {
                    CombinePath();
                }

                FileStream   fs = null;
                StreamWriter sw = null;

                try
                {
                    fs = new FileStream(m_configFileName, FileMode.Create);
                    sw = new StreamWriter(fs);
                    sw.Write(ToXml(config));
                    sw.Flush();
                }
                catch (Exception e)
                {
                    throw new ManagementException(e.Message, e);
                }
                finally
                {
                    if (sw != null)
                    {
                        sw.Close();
                    }
                    if (fs != null)
                    {
                        fs.Close();
                    }
                }
            }
        }
Пример #8
0
 public static MappingConfiguration.Dom.MappingConfiguration GetMappingConfiguration()
 {
     MappingConfiguration.Dom.MappingConfiguration config = LoadXml();
     return(config);
 }
Пример #9
0
        private static MappingConfiguration.Dom.MappingConfiguration GetServerMappings(string[] nodes)
        {
            if (nodes != null)
            {
                List<Mapping> managementIPMapping = new List<Mapping>();
                List<Mapping> clientIPMapping = new List<Mapping>();
                foreach (string node in nodes)
                {
                    try
                    {
                        NCacheRPCService NCache = new NCacheRPCService(node);
                        ICacheServer cacheServer = NCache.GetCacheServer(new TimeSpan(0, 0, 0, 30));

                        Hashtable serverIPMapping = cacheServer.GetServerMappingForConfig();
                        if (serverIPMapping.Contains("management-ip-mapping"))
                        {
                            managementIPMapping.Add((Mapping)serverIPMapping["management-ip-mapping"]);
                        }
                        if (serverIPMapping.Contains("client-ip-mapping"))
                        {
                            clientIPMapping.Add((Mapping)serverIPMapping["client-ip-mapping"]);
                        }
                        cacheServer.Dispose();
                    }
                    catch (Exception ex)
                    {
                    }
                }
                if (managementIPMapping.Count == 0 && clientIPMapping.Count == 0)
                {
                    return null;
                }
                MappingConfiguration.Dom.MappingConfiguration mappingConfiguration = new MappingConfiguration.Dom.MappingConfiguration();
                mappingConfiguration.ManagementIPMapping = new ServerMapping(managementIPMapping.ToArray());
                mappingConfiguration.ClientIPMapping = new ServerMapping(clientIPMapping.ToArray());

                return mappingConfiguration;
            }
            return null;
        }