Introduction to Configuration Files in C#
In this blog I am trying to explain the introduction of
configuration files in C#.
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
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 module loading, 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
is used with web applications while app.config is used for windows
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
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.
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'.
The machine configuration file, Machine.config, contains
settings that apply to an entire computer. This file is located in the %runtime install path%\Config directory. 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 the machine configuration file 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
web.config vs machine.config
1.This is automatically installed when you install. Net Framework.It is installed
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.
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.
3.Without the Web.Config
file, Application can still be executed.