/// <summary>
        /// Get the configuration type for the type of <see cref="ILogDistributionStrategy"></see>
        /// </summary>
        /// <param name="distributionName">Name of distribution strategy as defined in configuration</param>
        /// <returns>A <see cref="Type"></see> instance describing the type of <see cref="ILogDistributionStrategy"></see> to be instantiated</returns>
        protected override Type GetConfigurationType(string distributionName)
        {
            LoggingConfigurationView loggingConfigurationView = (LoggingConfigurationView)CreateConfigurationView();
            DistributionStrategyData data = loggingConfigurationView.GetDistributionStrategyData(distributionName);

            return(GetType(data.TypeName));
        }
Exemple #2
0
        public void Init()
        {
            XmlTextReader xmlReader     = new XmlTextReader(new StringReader(xmlString));
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(DistributionStrategyData));

            strategy = xmlSerializer.Deserialize(xmlReader) as DistributionStrategyData;
        }
 /// <summary>
 /// Creates node with specified runtime configuration data.
 /// </summary>
 /// <param name="distributionStrategyData">Runtime configuration data in which to initialize this node.</param>
 protected DistributionStrategyNode(DistributionStrategyData distributionStrategyData) : base()
 {
     if (distributionStrategyData == null)
     {
         throw new ArgumentNullException("data");
     }
     this.distributionStrategyData = distributionStrategyData;
 }
 /// <summary>
 /// Creates node with specified runtime configuration data.
 /// </summary>
 /// <param name="distributionStrategyData">Runtime configuration data in which to initialize this node.</param>
 protected DistributionStrategyNode(DistributionStrategyData distributionStrategyData)
     : base()
 {
     if (distributionStrategyData == null)
     {
         throw new ArgumentNullException("data");
     }
     this.distributionStrategyData = distributionStrategyData;
 }
Exemple #5
0
        /// <summary>
        /// <para>
        /// Initializes the provider with its name and any attributes associated with the provider.
        /// </para>
        /// </summary>
        /// <param name="configurationView">Dynamic view into the configuration information needed by the <see cref="MsmqLogDistributionStrategy"></see></param>
        public override void Initialize(ConfigurationView configurationView)
        {
            ArgumentValidation.CheckForNullReference(configurationView, "configurationView");
            ArgumentValidation.CheckExpectedType(configurationView, typeof(LoggingConfigurationView));
            LoggingConfigurationView loggingConfigurationView = (LoggingConfigurationView)configurationView;

            DistributionStrategyData distributionStrategyData = loggingConfigurationView.GetDistributionStrategyData(ConfigurationName);

            ArgumentValidation.CheckExpectedType(distributionStrategyData, typeof(MsmqDistributionStrategyData));

            msmqDistributionStrategyData = (MsmqDistributionStrategyData)distributionStrategyData;
        }
Exemple #6
0
        /// <summary>
        /// Gets the <see cref="DistributionStrategyData"></see> for the given distribution strategy name
        /// </summary>
        /// <param name="distributionName">Name of the <see cref="DistributionStrategyData"></see> found in configuration</param>
        /// <returns><see cref="DistributionStrategyData"></see> as read from configuration</returns>
        public virtual DistributionStrategyData GetDistributionStrategyData(string distributionName)
        {
            ArgumentValidation.CheckForNullReference(distributionName, "distributionName");
            ArgumentValidation.CheckForEmptyString(distributionName, "distributionName");

            LoggingSettings settings = GetLoggingSettings();

            if (settings.DistributionStrategies == null)
            {
                throw new ConfigurationException(SR.ExceptionNoStrategiesDefined);
            }
            DistributionStrategyData distributionStrategyData = settings.DistributionStrategies[distributionName];

            if (null == distributionStrategyData)
            {
                throw new ConfigurationException(SR.ExceptionNoDistributionStragegy(distributionName));
            }
            return(distributionStrategyData);
        }
 public void Init()
 {
     XmlTextReader xmlReader = new XmlTextReader(new StringReader(xmlString));
     XmlSerializer xmlSerializer = new XmlSerializer(typeof(DistributionStrategyData));
     strategy = xmlSerializer.Deserialize(xmlReader) as DistributionStrategyData;
 }