Namespace:
System.Configuration
Assembly:
System.Configuration (in System.Configuration.dll)
Visual Basic (Declaration)
<ConfigurationCollectionAttribute(GetType(KeyValueConfigurationElement))> _
Public Class KeyValueConfigurationCollection _
Inherits ConfigurationElementCollection
Dim instance As KeyValueConfigurationCollection
[ConfigurationCollectionAttribute(typeof(KeyValueConfigurationElement))]
public class KeyValueConfigurationCollection : ConfigurationElementCollection
[ConfigurationCollectionAttribute(typeof(KeyValueConfigurationElement))]
public ref class KeyValueConfigurationCollection : public ConfigurationElementCollection
public class KeyValueConfigurationCollection extends ConfigurationElementCollection
This class represents a collection of pairs, where each pair consists of a string serving as a collection key and a string value. Because the first element is a key, it must be unique across the collection.
The following code example demonstrates how to use the KeyValueConfigurationCollection type.
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Configuration
Imports System.Web
Imports System.Web.Configuration
Namespace Samples.Aspnet.Config
Class KeyValueConfigCollection
Public Shared Sub Main()
Try
' Set the path of the config file.
Dim configPath As String = "/aspnet"
' Get the Web application configuration object.
Dim config As Configuration = _
WebConfigurationManager.OpenWebConfiguration(configPath)
' Get the section related object.
Dim configSection As System.Configuration.AppSettingsSection = _
CType(config.GetSection("appSettings"), System.Configuration.AppSettingsSection)
' Dim configSection As AppSettingsSection = _
' (AppSettingsSection)config.GetSection("appSettings")
' Display title and info.
Console.WriteLine("ASP.NET Configuration Info")
Console.WriteLine()
' Display Config details.
Console.WriteLine("File Path: {0}", config.FilePath)
Console.WriteLine("Section Path: {0}", _
configSection.SectionInformation.Name.ToString())
Console.WriteLine()
' Create the KeyValueConfigurationElement.
Dim myAdminKeyVal As KeyValueConfigurationElement = _
New KeyValueConfigurationElement _
("myAdminTool", "admin.aspx")
' Determine if the configuration contains
' any KeyValueConfigurationElements.
Dim configSettings As KeyValueConfigurationCollection = _
config.AppSettings.Settings()
If configSettings.AllKeys.Length = 0 Then
' Add KeyValueConfigurationElement to collection.
config.AppSettings.Settings.Add(myAdminKeyVal)
If Not configSection.SectionInformation.IsLocked Then
config.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
End If
' Get the KeyValueConfigurationCollection
' from the configuration.
Dim settings As KeyValueConfigurationCollection = _
config.AppSettings.Settings()
' Display each KeyValueConfigurationElement.
Dim keyValueElement As KeyValueConfigurationElement
For Each keyValueElement In settings
Console.WriteLine("Key: {0}", keyValueElement.Key)
Console.WriteLine("Value: {0}", keyValueElement.Value)
Console.WriteLine()
Next
Catch e As System.ArgumentException
' Unknown error.
Console.WriteLine(e.ToString())
End Try
' Display and wait
Console.ReadLine()
End Sub
End Class
End Namespace
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
namespace Samples.Aspnet.Config
{
class KeyValueConfigCollection
{
static void Main(string[] args)
{
try
{
// Set the path of the config file.
string configPath = "/aspnet";
// Get the Web application configuration object.
Configuration config =
WebConfigurationManager.OpenWebConfiguration(configPath);
// Get the section related object.
AppSettingsSection configSection =
(AppSettingsSection)config.GetSection
("appSettings");
// Display title and info.
Console.WriteLine("ASP.NET Configuration Info");
Console.WriteLine();
// Display Config details.
Console.WriteLine("File Path: {0}",
config.FilePath);
Console.WriteLine("Section Path: {0}",
configSection.SectionInformation.Name.ToString());
Console.WriteLine();
// Create the KeyValueConfigurationElement.
KeyValueConfigurationElement myAdminKeyVal =
new KeyValueConfigurationElement(
"myAdminTool", "admin.aspx");
// Determine if the configuration contains
// any KeyValueConfigurationElements.
KeyValueConfigurationCollection configSettings =
config.AppSettings.Settings;
if (configSettings.AllKeys.Length == 0)
{
// Add KeyValueConfigurationElement to collection.
config.AppSettings.Settings.Add(myAdminKeyVal);
if (!configSection.SectionInformation.IsLocked)
{
config.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
// Get the KeyValueConfigurationCollection
// from the configuration.
KeyValueConfigurationCollection settings =
config.AppSettings.Settings;
// Display each KeyValueConfigurationElement.
foreach (KeyValueConfigurationElement keyValueElement in settings)
{
Console.WriteLine("Key: {0}", keyValueElement.Key);
Console.WriteLine("Value: {0}", keyValueElement.Value);
Console.WriteLine();
}
}
catch (Exception e)
{
// Unknown error.
Console.WriteLine(e.ToString());
}
// Display and wait
Console.ReadLine();
}
}
}
System..::.Object
System.Configuration..::.ConfigurationElement
System.Configuration..::.ConfigurationElementCollection
System.Configuration..::.KeyValueConfigurationCollection
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5, 3.0, 2.0
Reference