Beispiel #1
0
        private void RoleEnvironmentChanged(object sender, RoleEnvironmentChangedEventArgs e)
        {
            Tracer.WriteLine("RoleEnvironmentChanged", "Information");
            log.WriteEntry("RoleEnvironmentChanged", "", GetLabel());

            bool update = false;

            foreach (RoleEnvironmentChange roleEnvironmentChange in e.Changes)
            {
                if (roleEnvironmentChange.GetType() == typeof(RoleEnvironmentConfigurationSettingChange))
                {
                    RoleEnvironmentConfigurationSettingChange change = (RoleEnvironmentConfigurationSettingChange)roleEnvironmentChange;

                    string message = string.Format("{0} = \"{1}\"", change.ConfigurationSettingName, RoleEnvironment.GetConfigurationSettingValue(change.ConfigurationSettingName));

                    Tracer.WriteLine(message, "Information");
                    log.WriteEntry("RoleEnvironmentConfigurationSettingChange", message, GetLabel());

                    switch (change.ConfigurationSettingName)
                    {
                    case TRACE_FORMAT:
                        ConfigureTraceFormat();
                        break;

                    case UPDATE_INDICATOR:
                        update = true;
                        break;

                    case DEFAULT_CONNECTION_LIMIT:
                        ConfigureDefaultConnectionLimit();
                        break;
                    }
                }
                else if (roleEnvironmentChange.GetType() == typeof(RoleEnvironmentTopologyChange))
                {
                    Tracer.WriteLine("RoleEnvironmentTopologyChange", "Information");
                    log.WriteEntry("RoleEnvironmentTopologyChange", "", GetLabel());
                }
                else
                {
                    Tracer.WriteLine("UnknownRoleEnvironmentChange", "Information");
                    log.WriteEntry("UnknownRoleEnvironmentChange", roleEnvironmentChange.GetType().ToString(), GetLabel());
                }
            }

            if (update)
            {
                DoUpdate();
            }
        }
Beispiel #2
0
        void RoleEnvironment_Changed(object sender, RoleEnvironmentChangedEventArgs e)
        {
            //var traceSource = CreateTraceSource();
            Trace.TraceInformation("RoleEnvironment.Changed for {0}:", RoleEnvironment.CurrentRoleInstance.Id);

            foreach (RoleEnvironmentChange rec in e.Changes)
            {
                //Trace.TraceInformation(rec.ToString());
                Trace.TraceInformation(" > {0}", rec.GetType());
                RoleEnvironmentConfigurationSettingChange recsc = rec as RoleEnvironmentConfigurationSettingChange;
                Trace.TraceInformation(RoleEnvironment.GetConfigurationSettingValue(recsc.ConfigurationSettingName), "Information");
            }

            //Trace.(arg.Changes.GetType().ToString());RoleEnvironmentTopologyChange
            if (e.Changes.Any(chg => chg is RoleEnvironmentConfigurationSettingChange))
            {
                Trace.TraceInformation(RoleEnvironment.Roles.Count.ToString() + " instance count");
                RoleEnvironment.RequestRecycle();
            }
        }