本文整理汇总了C#中System.Configuration.ConfigurationManager.OpenExeConfiguration方法的典型用法代码示例。如果您正苦于以下问题:C# ConfigurationManager.OpenExeConfiguration方法的具体用法?C# ConfigurationManager.OpenExeConfiguration怎么用?C# ConfigurationManager.OpenExeConfiguration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。
在下文中一共展示了ConfigurationManager.OpenExeConfiguration方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetRoamingConfiguration
// Get the roaming configuration file associated
// with the application.
// This function uses the OpenExeConfiguration(
// ConfigurationUserLevel userLevel) method to
// get the configuration file.
// It also creates a custom ConsoleSection and
// sets its ConsoleElement BackgroundColor and
// ForegroundColor properties to blue and yellow
// respectively. Then it uses these properties to
// set the console colors.
public static void GetRoamingConfiguration()
{
// Define the custom section to add to the
// configuration file.
string sectionName = "consoleSection";
ConsoleSection currentSection = null;
// Get the roaming configuration
// that applies to the current user.
Configuration roamingConfig =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.PerUserRoaming);
// Map the roaming configuration file. This
// enables the application to access
// the configuration file using the
// System.Configuration.Configuration class
ExeConfigurationFileMap configFileMap =
new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename =
roamingConfig.FilePath;
// Get the mapped configuration file.
Configuration config =
ConfigurationManager.OpenMappedExeConfiguration(
configFileMap, ConfigurationUserLevel.None);
try
{
currentSection =
(ConsoleSection)config.GetSection(
sectionName);
// Synchronize the application configuration
// if needed. The following two steps seem
// to solve some out of synch issues
// between roaming and default
// configuration.
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of the changed section,
// if needed. This makes the new values available
// for reading.
ConfigurationManager.RefreshSection(sectionName);
if (currentSection == null)
{
// Create a custom configuration section.
currentSection = new ConsoleSection();
// Define where in the configuration file
// hierarchy the associated
// configuration section can be declared.
// The following assignment assures that
// the configuration information can be
// defined in the user.config file in the
// roaming user directory.
currentSection.SectionInformation.AllowExeDefinition =
ConfigurationAllowExeDefinition.MachineToLocalUser;
// Allow the configuration section to be
// overridden by lower-level configuration files.
// This means that lower-level files can contain
// the section (use the same name) and assign
// different values to it as done by the
// function GetApplicationConfiguration() in this
// example.
currentSection.SectionInformation.AllowOverride =
true;
// Store console settings for roaming users.
currentSection.ConsoleElement.BackgroundColor =
ConsoleColor.Blue;
currentSection.ConsoleElement.ForegroundColor =
ConsoleColor.Yellow;
// Add configuration information to
// the configuration file.
config.Sections.Add(sectionName, currentSection);
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of the changed section. This
// makes the new values available for reading.
ConfigurationManager.RefreshSection(
sectionName);
}
}
catch (ConfigurationErrorsException e)
{
Console.WriteLine("[Exception error: {0}]",
e.ToString());
}
// Set console properties using values
// stored in the configuration file.
Console.BackgroundColor =
currentSection.ConsoleElement.BackgroundColor;
Console.ForegroundColor =
currentSection.ConsoleElement.ForegroundColor;
// Apply the changes.
Console.Clear();
// Display feedback.
Console.WriteLine();
Console.WriteLine(
"Using OpenExeConfiguration(ConfigurationUserLevel).");
Console.WriteLine(
"Configuration file is: {0}", config.FilePath);
}
示例2: GetAppConfiguration
// Get the application configuration file.
// This function uses the
// OpenExeConfiguration(string)method
// to get the application configuration file.
// It also creates a custom ConsoleSection and
// sets its ConsoleElement BackgroundColor and
// ForegroundColor properties to black and white
// respectively. Then it uses these properties to
// set the console colors.
public static void GetAppConfiguration()
{
// Get the application path needed to obtain
// the application configuration file.
#if DEBUG
string applicationName =
Environment.GetCommandLineArgs()[0];
#else
string applicationName =
Environment.GetCommandLineArgs()[0]+ ".exe";
#endif
string exePath = System.IO.Path.Combine(
Environment.CurrentDirectory, applicationName);
// Get the configuration file. The file name has
// this format appname.exe.config.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(exePath);
try
{
// Create a custom configuration section
// having the same name that is used in the
// roaming configuration file.
// This is because the configuration section
// can be overridden by lower-level
// configuration files.
// See the GetRoamingConfiguration() function in
// this example.
string sectionName = "consoleSection";
ConsoleSection customSection = new ConsoleSection();
if (config.Sections[sectionName] == null)
{
// Create a custom section if it does
// not exist yet.
// Store console settings.
customSection.ConsoleElement.BackgroundColor =
ConsoleColor.Black;
customSection.ConsoleElement.ForegroundColor =
ConsoleColor.White;
// Add configuration information to the
// configuration file.
config.Sections.Add(sectionName, customSection);
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of the changed section.
// This makes the new values available for reading.
ConfigurationManager.RefreshSection(sectionName);
}
// Set console properties using values
// stored in the configuration file.
customSection =
(ConsoleSection)config.GetSection(sectionName);
Console.BackgroundColor =
customSection.ConsoleElement.BackgroundColor;
Console.ForegroundColor =
customSection.ConsoleElement.ForegroundColor;
// Apply the changes.
Console.Clear();
}
catch (ConfigurationErrorsException e)
{
Console.WriteLine("[Error exception: {0}]",
e.ToString());
}
// Display feedback.
Console.WriteLine();
Console.WriteLine("Using OpenExeConfiguration(string).");
// Display the current configuration file path.
Console.WriteLine("Configuration file is: {0}",
config.FilePath);
}