System.Configuration.Configuration.Save 方法 (ConfigurationSaveMode)

方法描述

将包含在此 Configuration 对象中的配置设置写入到当前的 XML 配置文件中。

语法定义(C# System.Configuration.Configuration.Save 方法 (ConfigurationSaveMode) 的用法)

public void Save(
	ConfigurationSaveMode saveMode
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
saveMode System-Configuration-ConfigurationSaveMode 一个 ConfigurationSaveMode 值,该值用于确定要保存的属性值。
返回值 void

提示和注释

Save 方法根据 saveMode 参数保持 Configuration 对象中的配置设置。

如果在 FilePath 属性表示的物理位置不存在配置文件,将创建一个新的配置文件,以包含任何不同于继承配置的设置。

如果自从此 Configuration 对象创建以后配置文件发生了更改,则将发生运行时错误。

注意

如果在包含配置文件的目录的 ACL(访问控制列表)中列出“创建者所有者”列,则 Save 的当前用户就成为该文件的新所有者,并将继承授予“创建者所有者”的权限。 这将提升当前用户的特权,并移除前一用户的特权。

System.Configuration.Configuration.Save 方法 (ConfigurationSaveMode)例子

下面的代码示例演示如何使用 Save 方法保存自定义的节。

// Show how to create an instance of the Configuration class
// that represents this application configuration file.  
static void CreateConfigurationFile()
{
    try
    {

        // Create a custom configuration section.
        CustomSection customSection = new CustomSection();

        // Get the current configuration file.
        System.Configuration.Configuration config =
                ConfigurationManager.OpenExeConfiguration(
                ConfigurationUserLevel.None);

        // Create the custom section entry  
        // in  group and the 
        // related target section in .
        if (config.Sections["CustomSection"] == null)
        {
            config.Sections.Add("CustomSection", customSection);
        }

        // Create and add an entry to appSettings section.

        string conStringname="LocalSqlServer";
        string conString = @"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true";
        string providerName="System.Data.SqlClient";

        ConnectionStringSettings connStrSettings = new ConnectionStringSettings();
        connStrSettings.Name = conStringname;
        connStrSettings.ConnectionString= conString;
        connStrSettings.ProviderName = providerName;

        config.ConnectionStrings.ConnectionStrings.Add(connStrSettings);

        // Add an entry to appSettings section.
        int appStgCnt =
            ConfigurationManager.AppSettings.Count;
        string newKey = "NewKey" + appStgCnt.ToString();

        string newValue = DateTime.Now.ToLongDateString() +
          " " + DateTime.Now.ToLongTimeString();

        config.AppSettings.Settings.Add(newKey, newValue);

        // Save the configuration file.
        customSection.SectionInformation.ForceSave = true;
        config.Save(ConfigurationSaveMode.Full);

        Console.WriteLine("Created configuration file: {0}",
            config.FilePath);

    }
    catch (ConfigurationErrorsException err)
    {
        Console.WriteLine("CreateConfigurationFile: {0}", err.ToString());
    }

}

异常

异常 异常描述
ConfigurationErrorsException
  • 未能对该配置文件执行写入操作。
  • 配置文件已更改。

命名空间

namespace: System.Configuration

程序集: System.Configuration(在 System.Configuration.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。