Configuration Files in .Net

What is the Global.asax used for?

The Global.asax (including the Global.asax.cs file) is used to implement application and session level events.

Two types of configuration files supported by ASP.Net.

Configuration files are used to control and manage the behavior of a web application.

  • Machine.config
  • Web.config

What is Web.Config File?

It is an optional XML File which stores configuration details for a specific web application.

Note: When you modify the settings in the Web.Config file, you do not need to restart the Web service for the modifications to take effect.. By default, the Web.Config file applies to all the pages in the current directory and its subdirectories.

Extra: You can use the tag to lock configuration settings in the Web.Config file so that they cannot be overridden by a Web.Config file located below it. You can use the allowOverride attribute to lock configuration settings. This attribute is especially valuable if you are hosting untrusted applications on your server.

What is Machine.config File?

The Machine.Config file, which specifies the settings that are global to a particular machine. This file is located at the following path:

\WINNT\Microsoft.NET\Framework\[Framework Version]\CONFIG\machine.config

As web.config file is used to configure one asp .net web application, same way Machine.config file is used to configure the application according to a particular machine. That is, configuration done in machine.config file is affected on any application that runs on a particular machine. Usually, this file is not altered and only web.config is used which configuring applications.

You can override settings in the Machine.Config file for all the applications in a particular Web site by placing a Web.Config file in the root directory of the Web site as follows:


Difference between Web.Config and Machine.Config File

i) This is automatically installed when you install Visual Studio. Net.
ii) This is also called machine level configuration file.
iii)Only one machine.config file exists on a server.
iv) This file is at the highest level in the configuration hierarchy.

i) This is automatically created when you create an ASP.Net web application project.
ii) This is also called application level configuration file.
iii)This file inherits setting from the machine.config

What can be stored in Web.config file?

There are number of important settings that can be stored in the configuration file. Here are some of the most frequently used configurations, stored conveniently inside Web.config file..

1. Database connections.

2. Session States

3. Error Handling (CustomError Page Settings.)

4. Security (Authentication modes)

What is the best place to store Database connection string in .Net?

In Web.Config, you would add a key to the AppSettings Section:


<add key=”MyDBConnection” value=”data source=<ServerName>;Initial catalog =<DBName>;user id=<Username>;password=<Password>;” />



<add key=”ConnectionString” value= “data source=localhost;Initial catalog=northwind;user id=sa;password=mypass” />

Then, in your ASP.Net application – just refer to it like this:

using System.Configuration;

string connectionString = (string )ConfigurationSettings.AppSettings[“ConnectionString”];

Hierarchy of Configuration File

Configuration files are arranged in hierarchy. Child Web.Config files override configuration settings specified by their parents. This means that you do not need to copy the complete contents of a parent Web.Config file when creating a Web.Config lower in the hierarchy. You can specify only the configuration settings that you need to modify.

Note: If your application doesn’t consist of Web.Config file than all the settings from machine.config file would be applied.

Can I use IIS as an alternative way of configuring Custom error pages?

Yes, you can. But the preferable way would be ASP.NET, as the ASP.NET custom pages are configured in XML based web.config (application configuration) file, resulting in easy (xcopy) deployment and management.

How many web.config files for sngle application?

You should have only one web.config. but in sub folder you can have one web.cofing to set configuration of that folders. example if your application have 3 folder then 4 web.config have in your application

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: