コード例 #1
0
        /// <summary>
        /// Updates the ClusterBuilder from app/web.config using the cluster definition with the specified name.
        /// </summary>
        public static IClusterBuilderNext FromConfiguration(this IClusterBuilder builder, string name)
        {
            var section = ConfigurationManager.GetSection(ClustersSectionName) as ClustersConfigurationSection;

            if (section == null)
            {
                throw new ConfigurationErrorsException(ClustersSectionName + " section is missing");
            }

            var cluster = section.Clusters.ByName(name ?? String.Empty);
            var retval  = builder.Endpoints(cluster.Nodes.AsIPEndPoints());

            retval
            .SocketOpts(cluster.Connection)
            .Use
            .From(cluster.FailurePolicy)
            .From(cluster.NodeLocator)
            .From(cluster.ReconnectPolicy);

            return(retval);
        }
コード例 #2
0
 public static IClusterBuilderNext Endpoints(this IClusterBuilder builder, params string[] endpoints)
 {
     return(builder.Endpoints(endpoints.Select(e => ConfigurationHelper.ParseEndPoint(e, DefaultPort))));
 }