Introduction to Configuration Files in C#

Introduction to Configuration Files in C#

In this blog I am trying to explain the introduction of
configuration files in C#.

Introduction:

Basically all configuration file are use to configure the
particular application. In c# web. app file used to configure the setting of
particular web application, on the other hand app. config is used to configure
the windows application developed in .net, while the machine. config, it is
automatically installed when you install.Net Framework. It is installed at
Microsoft.NET\Framework\v1.1.4322\CONFIG. It contains default and
machine-specific values for all supported setting. And only one machine. config
file can exist on a server. Within this blog, many of the C# code examples
assume you have both included a reference to System.Configuration.dll in your
project.

Web.config

It is the main settings and configuration file
for an ASP.NET web application. The file is an XML document that defines
configuration information regarding the web application. This file stores the
information about how the web application will act(behave). The web.config file
always contains information that controls moduleloading,security configuration,session
state configuration, and application language and compilation
settings. Web.config files can also contain application specific items such as
database connection strings. Now be comparing how these configurations are
differing to each other

web.config vs app.config

1.web.config
is used with web applications while app.config is used for windows
applications.

2.You can have more than one
web.config file in your application. You can have a web.config for each folder
under your web application. But there is always one app.config file in a window
application.

3.If you make any changes to the
web.config, web application will immediately load the changed config. But in
case of app.config, you will have to restart the application.

4.web.config
file is automatically added to the application while app.config is not
automatically added. You can go to the solution explorer and select 'Add new
item' and add the 'Application Configuration File'.

machine.config

The machine configuration file, Machine.config, contains
settings that apply to an entire computer. This file is located in the%runtimeinstallpath%\Configdirectory. Machine.config contains
configuration settings for machine-wide assembly binding, built-in remoting
channels, and ASP.NET.

The configuration system first looks in the machine
configuration file for the appSettings and other configuration sections that a
developer might want to define. It then looks in the application configuration
file. To keep themachine configurationfile manageable, it is best to put
these settings in the application configuration file. However, putting the
settings in the machine configuration file can make your system more
maintainable. For example, if you have a third-party component that both your
client and server application uses, it is easier to put the settings for that component
in one place. In this case, the machine configuration file is the appropriate
place for the settings, so you don't have the same settings in two different
files.

web.config vs machine.config

1.This is automatically installed when you install. Net Framework.It is installed
at Microsoft.NET\Framework\v1.1.4322\CONFIG.
It contains default and machnine-specific values
for all supported setting.

2. Only one machine.config file can exist
on a server.

3. This file is at the highest level in
the configuration hierarchy.

4. It’s like a common repository for
standard items and it’s over ridden by web.config file.

5. Without the Machine.Config file
Application cannot be executed.

web.config

1.This
is automatically created when you create an ASP.Net web application project.

2.This file inherits the settings from the machine.config
and can override them as required.