/// <summary> /// <para> /// Write configuration for a section to storage. /// </para> /// </summary> /// <param name="sectionName"> /// <para>The name of the section for the configuration data.</para> /// </param> /// <param name="configValue"> /// <para>The configuration value to store.</para> /// </param> /// <exception cref="ConfigurationException"> /// <para><paramref name="sectionName"/> is not valid section for this configuration.</para> /// <para>- or -</para> /// <para>The section data is read only.</para> /// <para>- or -</para> /// <para>An error occured while reading the configuration to save the data.</para> /// </exception> public void WriteConfiguration(string sectionName, object configValue) { ValidateSection(sectionName); ConfigurationChangingEventArgs args = CreateConfigurationChangingEventArgs(sectionName, configValue); OnConfigurationChanging(args); if (!args.Cancel) { IStorageProviderWriter configStorageWriter = GetConfigurationStorageWriter(sectionName); object writeData = GetSerializedDataToWrite(sectionName, configValue); ConfigurationWriterActionCommand writerActionCommand = new ConfigurationWriterActionCommand(configStorageWriter, writeData); sections.UpdateSection(sectionName, writerActionCommand, configValue); ConfigurationChangedEventArgs changedArgs = new ConfigurationChangedEventArgs(configFile.FileName, sectionName); OnConfigurationChanged(changedArgs); } }