private void ShowSettings(ClientRequestInfo requestInfo)
{
if (requestInfo.Request.Arguments.ContainsHelpRequest)
{
StringBuilder helpMessage = new StringBuilder();
helpMessage.Append("Displays a list of service settings from the config file.");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Usage:");
helpMessage.AppendLine();
helpMessage.Append(" Settings -options");
helpMessage.AppendLine();
helpMessage.AppendLine();
helpMessage.Append(" Options:");
helpMessage.AppendLine();
helpMessage.Append(" -?".PadRight(20));
helpMessage.Append("Displays this help message");
helpMessage.AppendLine();
helpMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, helpMessage.ToString());
}
else
{
StringBuilder responseMessage = new StringBuilder();
responseMessage.AppendFormat("Settings for {0}:", Name);
responseMessage.AppendLine();
responseMessage.AppendLine();
responseMessage.Append("Category".PadRight(20));
responseMessage.Append(' ');
responseMessage.Append("Name".PadRight(25));
responseMessage.Append(' ');
responseMessage.Append("Value".PadRight(30));
responseMessage.AppendLine();
responseMessage.Append(new string('-', 20));
responseMessage.Append(' ');
responseMessage.Append(new string('-', 25));
responseMessage.Append(' ');
responseMessage.Append(new string('-', 30));
IPersistSettings typedComponent;
lock (m_serviceComponents)
{
foreach (object component in m_serviceComponents)
{
typedComponent = component as IPersistSettings;
if ((object)typedComponent == null)
continue;
foreach (CategorizedSettingsElement setting in ConfigurationFile.Current.Settings[typedComponent.SettingsCategory].Cast<CategorizedSettingsElement>().Where(setting => !setting.Encrypted))
{
responseMessage.AppendLine();
responseMessage.Append(typedComponent.SettingsCategory.PadRight(20));
responseMessage.Append(' ');
responseMessage.Append(setting.Name.PadRight(25));
responseMessage.Append(' ');
if (!string.IsNullOrEmpty(setting.Value))
responseMessage.Append(setting.Value.PadRight(30));
else
responseMessage.Append("[Not Set]".PadRight(30));
}
}
}
responseMessage.AppendLine();
responseMessage.AppendLine();
UpdateStatus(requestInfo.Sender.ClientID, UpdateType.Information, responseMessage.ToString());
}
}