コード例 #1
0
        /// <summary>
        /// 添加Zookeeper的配置中心
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="connectionString">连接字符串</param>
        /// <param name="path">配置中心的配置节点,该节点下的所有子节点会被递归作为配置</param>
        /// <param name="sessionTimeout">session的过期时间</param>
        /// <param name="encoding">数据的编码格式</param>
        /// <param name="readOnly">是否是只读的,对于管理配置的,设置为false,对于使用配置的应用,则为true</param>
        /// <returns></returns>
        public static IConfigurationBuilder AddZookeeper(this IConfigurationBuilder builder,
                                                         string connectionString,
                                                         string path        = "/ZkAppConfigs",
                                                         string encoding    = "utf-8",
                                                         int sessionTimeout = 50000,
                                                         bool readOnly      = true)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            var source = new ZookeeperConfigurationSource
            {
                ConnectionString      = connectionString,
                DataEncoding          = Encoding.GetEncoding(encoding),
                SessionTimeout        = sessionTimeout,
                Path                  = path,
                ReadOnlyConfiguration = readOnly
            };

            return(builder.Add(source));
        }
コード例 #2
0
        /// <summary>
        /// 添加Zookeeper的配置中心
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="connectionString">连接字符串</param>
        /// <param name="path">配置中心的配置节点,该节点下的所有子节点会被递归作为配置</param>
        /// <param name="sessionTimeout">session的过期时间</param>
        /// <param name="encoding">数据的编码格式</param>
        /// <param name="readOnly">是否是只读的,对于管理配置的,设置为false,对于使用配置的应用,则为true</param>
        /// <returns></returns>
        public static IConfigurationBuilder AddZookeeper(this IConfigurationBuilder builder,
                                                         string connectionString,
                                                         ZookeeperPathString path,
                                                         Encoding encoding,
                                                         int sessionTimeout,
                                                         bool readOnly)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            var source = new ZookeeperConfigurationSource
            {
                ConnectionString      = connectionString,
                DataEncoding          = encoding,
                SessionTimeout        = sessionTimeout,
                Path                  = path,
                ReadOnlyConfiguration = readOnly
            };

            return(builder.Add(source));
        }