void AdditionalConfiguration_Changed(object sender, ConfigurationItemChangedEventArgs e)
        {
            Trace.TraceInformation(TRACESOURCE + ":AdditionalConfiguration: " + e.Name + " (" + e.ChangeType.ToString() + ")" + " New = " + e.NewValue ?? "NULL" + " | " + "Old = " + e.OldValue ?? "NULL");

            // on change of the "Reboot"-Value > Request a role recycle
            if (e.Name == "Reboot" && e.ChangeType == ChangeType.Modified && !string.IsNullOrEmpty(e.NewValue))
            {
                Trace.TraceAndLogWarning(TRACESOURCE, "Additional Change requested reboot.");
                //RoleEnvironment.RequestRecycle();
                this.OnStop();
                System.Diagnostics.Process.Start("shutdown", "/r /t 0");
            }
        }
        /// <summary>
        /// Handles changes made to the additional configuration
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void AdditionalConfiguration_Changed(object sender, ConfigurationItemChangedEventArgs e)
        {
            Trace.TraceInformation(TRACESOURCE + ":AdditionalConfiguration: " + e.Name + " (" + e.ChangeType.ToString() + ")" + " New = " + e.NewValue ?? "NULL" + " | " + "Old = " + e.OldValue ?? "NULL");

            if (e.Name == "IsInMaintenance")
            {
                // this instance is told to change it's maintenance mode
                var  stringValue = (e.ChangeType == ChangeType.Added | e.ChangeType == ChangeType.Modified) ? e.NewValue : e.OldValue;
                bool newValue;
                if (bool.TryParse(stringValue, out newValue))
                {
                    // enable or disable the Routing rule to the maintenance page
                    CommonIISHelper.ChangeArrRuleEnabled("IsInMaintenance", newValue);
                }
            }

            SetStatus();
        }
        private void Instance_AdditionalConfigurationChanged(object sender, ConfigurationItemChangedEventArgs e)
        {
            if (e.Name == "StopHybris")
            {
                // this instance is told to change it's maintenance mode
                var  stringValue = (e.ChangeType == ChangeType.Added | e.ChangeType == ChangeType.Modified) ? e.NewValue : e.OldValue;
                bool newValue;
                if (bool.TryParse(stringValue, out newValue))
                {
                    Trace.TraceAndLogInformation("HybrisPlugin", "Additional configuration changed value StopHybris to " + newValue.ToString());
                    // enable or disable the Routing rule to the maintenance page
                    this.ConfigStopHybris = newValue;

                    // if hybris has to be stopped > stop hybris
                    if (newValue && _HybrisJavaProcess != null && !_HybrisJavaProcess.HasExited)
                    {
                        SendStop();
                    }
                }
            }
        }
        private void Instance_AdditionalConfigurationChanged(object sender, ConfigurationItemChangedEventArgs e)
        {
            if (e.Name == "StopHybris")
            {
                // this instance is told to change it's maintenance mode
                var stringValue = (e.ChangeType == ChangeType.Added | e.ChangeType == ChangeType.Modified) ? e.NewValue : e.OldValue;
                bool newValue;
                if (bool.TryParse(stringValue, out newValue))
                {
                    Trace.TraceAndLogInformation("HybrisPlugin", "Additional configuration changed value StopHybris to " + newValue.ToString());
                    // enable or disable the Routing rule to the maintenance page
                    this.ConfigStopHybris = newValue;

                    // if hybris has to be stopped > stop hybris
                    if (newValue && _HybrisJavaProcess != null && !_HybrisJavaProcess.HasExited)
                        SendStop();
                }
            }
        }
        void AdditionalConfiguration_Changed(object sender, ConfigurationItemChangedEventArgs e)
        {
            Trace.TraceInformation(TRACESOURCE + ":AdditionalConfiguration: " + e.Name + " (" + e.ChangeType.ToString() + ")" + " New = " + e.NewValue ?? "NULL" + " | " + "Old = " + e.OldValue ?? "NULL");

            // on change of the "Reboot"-Value > Request a role recycle
            if (e.Name == "Reboot" && e.ChangeType == ChangeType.Modified && !string.IsNullOrEmpty(e.NewValue))
            {
                Trace.TraceAndLogWarning(TRACESOURCE, "Additional Change requested reboot.");
                //RoleEnvironment.RequestRecycle();
                this.OnStop();
                System.Diagnostics.Process.Start("shutdown", "/r /t 0");
            }
        }
        /// <summary>
        /// Handles changes made to the additional configuration
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void AdditionalConfiguration_Changed(object sender, ConfigurationItemChangedEventArgs e)
        {
            Trace.TraceInformation(TRACESOURCE + ":AdditionalConfiguration: " + e.Name + " (" + e.ChangeType.ToString() + ")" + " New = " + e.NewValue ?? "NULL" + " | " + "Old = " + e.OldValue ?? "NULL");

            if (e.Name == "IsInMaintenance")
            {
                // this instance is told to change it's maintenance mode
                var stringValue = (e.ChangeType == ChangeType.Added | e.ChangeType == ChangeType.Modified) ? e.NewValue : e.OldValue;
                bool newValue;
                if (bool.TryParse(stringValue, out newValue))
                {
                    // enable or disable the Routing rule to the maintenance page
                    CommonIISHelper.ChangeArrRuleEnabled("IsInMaintenance", newValue);
                }
            }

            SetStatus();
        }