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(); } }
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(); } }