public void SectionNameTest()
 {
     using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString))
     {
         StorageProviderFactory factory = new StorageProviderFactory(configurationContext);
         IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter;
         Assert.AreEqual(applConfig1, ((XmlFileStorageProvider)storage).CurrentSectionName);
     }
 }
 public void WriteNonXmlNodeValueTest()
 {
     using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString))
     {
         StorageProviderFactory factory = new StorageProviderFactory(configurationContext);
         IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter;
         Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider));
         storage.Write(new object());
     }
 }
 public void StorageBadFileTest()
 {
     using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlBadFileString))
     {
         StorageProviderFactory factory = new StorageProviderFactory(configurationContext);
         IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter;
         Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider));
         storage.Write(GetData());
     }
 }
Esempio n. 4
0
        private IStorageProviderWriter GetConfigurationStorageWriter(string sectionName)
        {
            IStorageProviderReader configStorageReader = CreateStorageProvider(sectionName);
            IStorageProviderWriter configStorageWriter = configStorageReader as IStorageProviderWriter;

            if (configStorageWriter == null)
            {
                throw new ConfigurationException(SR.ExceptionHandlerNotWritable(sectionName));
            }
            return(configStorageWriter);
        }
 public void BadFilePathStorageTest()
 {
     using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlBadFilePathString))
     {
         StorageProviderFactory factory = new StorageProviderFactory(configurationContext);
         IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter;
         Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider));
         storage.Write(GetData());
         Assert.Fail("Should never get here since the file is not specified in configuration.");
     }
 }
Esempio n. 6
0
        /// <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);
            }
        }
        public void StorageTestChangeEncryption()
        {
            SaveKeyAlgorithmPair(XmlStringWithEncryption);

            using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlStringWithEncryption))
            {
                StorageProviderFactory factory = new StorageProviderFactory(configurationContext);
                IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader;
                Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider));
                ((IStorageProviderWriter)storage).Write(GetData());

                configurationContext.GetMetaConfiguration().ConfigurationSections[0].Encrypt = false;
                factory = new StorageProviderFactory(configurationContext);
                IStorageProviderWriter storageWriter = factory.Create(applConfig1) as IStorageProviderWriter;
                storageWriter.Write(GetData());

                XmlNode data = storageWriter.Read() as XmlNode;
                Assert.AreEqual(GetData().OuterXml, data.OuterXml);
            }
        }
Esempio n. 8
0
 public ConfigurationWriterActionCommand(IStorageProviderWriter writer, object configurationData)
 {
     this.writer            = writer;
     this.configurationData = configurationData;
 }
Esempio n. 9
0
 public ConfigurationWriterActionCommand(IStorageProviderWriter writer, object configurationData)
 {
     this.writer = writer;
     this.configurationData = configurationData;
 }