How To Make Application and Directory-Specific Configuration Settings in an ASP.NET Application

Article translations Article translations
Article ID: 815174 - View products that this article applies to.
Expand all | Collapse all

On This Page


This step-by-step article describes how to use ASP.NET to make application-specific and directory-specific configuration settings. The Web.config file resides in the root directory of an ASP.NET application. The Web.config file specifies configuration information that is specific to the application. You can also set configuration settings on a per-directory basis. There are two ways to do so:
  • Distribute multiple Web.config files to directories in the application. Add a Web.config file in the ASP.NET application directory with settings that override settings in a higher-level Web.config file or in the system machine configuration (Machine.config) file.
  • Add per-directory or per-file settings directly to the application Web.config file. This method uses a single Web.config file to turn on per-directory configuration settings. You can also use this method in the Machine.config file to force configuration settings on ASP.NET Web applications and then to stop Web.config files from overriding Machine.config settings.

Use the Location Element in the Machine.config File

To specify settings that apply to a Web application or directory, you can add the <location> element to the <configuration> element of a system Machine.config file. This is useful when you centralize configuration settings in a single file. This is also useful in Web-hosting environments to mandate specific configuration settings on individual Web applications.

The <location> element contains two attributes, path and allowOverride. The path attribute defines the site or virtual directory that the configuration settings cover. To specify that the settings in the <location> element apply to the default Web site, set the path attribute to Default Web Site. To specify that the settings apply to the application that is named MyApp in the default Web site, set the path attribute to "Default Web Site/MyApp".

When the allowOverride attribute is false, the Web.config files in the Web application directories cannot override the settings that you specified in the <location> element. This is a useful setting in environments where you must restrict application developers in how they configure a Web application. The following example shows a part of a Machine.config file that requires authentication to access the MyApp application on the default Web site and that cannot be overridden by settings in a Web.config file:
    <location path=”Default Web Site/MyApp” allowOverride=”false”>
                <allow users=”?” />

Use the Location Element in the Web.config File

To specify settings that apply to a specific application or directory, add the <location> element to the <configuration> element of an application Web.config file. The <location> element typically contains a <system.web> element and other configuration elements exactly as you use them in the Web.config file. The path attribute of the <location> element specifies the virtual directory or the file name where the location configuration items apply. The following example shows part of an application Web.config file that specifies custom error messages for the forum virtual directory.
    <location path=”forum” >
            <customErrors mode="RemoteOnly” defaultRedirect="forum-error.aspx">
                <error statusCode="404" redirect="forum-file-not-found.aspx" />


For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
818016 How To Deploy Applications That Are Built on the .NET Framework
For more information, visit the following Microsoft Developer Network Web sites:

ASP.NET Configuration

Format of ASP.NET Configuration Files

Deploying Applications


Article ID: 815174 - Last Review: May 13, 2007 - Revision: 1.10
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
kbdir kbwebservices kbwebserver kbwebforms kbconfig kbhowtomaster KB815174

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from