What is web.config. How many web.config files can be allowed
to use in an application?

Answer Posted / praveen chandran

System wide configuration settings are defined in the
Machine.config for the .NET Framework. The Machine.config
file is located in the
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG folder.
The settings defined in this file are applicable to all
ASP.NET applications in that system.

We can override these default settings by including a
Web.config file in the application's root folder.

By including Web.config files in sub-folders, we can
override the settings defined in the Web.config file in the
application's root folder.

The following are sample section declarations from a
Machine.config file:

<section name="processModel"

type="System.Web.Configuration.ProcessModelConfigurationHandler,

System.Web, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
allowDefinition="MachineOnly"/>

<section name="sessionState"
type="System.Web.SessionState.SessionStateSectionHandler,
System.Web, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
allowDefinition="MachineToApplication"/>

<section name="appSettings"
type="System.Configuration.NameValueFileSectionHandler,
System,
Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"/>

There is an attribute allowDefinition specified in the first
two section declarations with the values: MachineOnly and
MachineToApplication.
What it does mean?

If allowDefinition="MachineOnly", then we can not override
this section either in application level or in folder level.
The only section declared in the Machine.config file with
this settings is processModel.

If allowDefinition="MachineToApplication", then we can
override these sections by the root directory Web.config.
Sections with this setting in Machine.config are
authentication, machineKey, sessionState, trust, and
securityPolicy.

If allowDefinition attribute is omitted in a section
declaration of the Machine.config file, we can override that
section at any level.

We can override the section appSettings at any level and can
access it by using ConfigurationSettings.AppSettings easily.
What is there in the sample project?

The sample source code is a simple ASP.NET web application
with three Web Forms and three Web.config files. The root
folder has a sub folder SubFolder_L1 that has SubFolder_L2,
each has one Web Form and one Web.config file.

Web.config files have different and overridden keys.
Web.config file in the root folder has the following
appSettings declarations:

<appSettings>
<add key="root" value="Root folder's configuration file."/>
<add key="color" value="Blue"/>
</appSettings>

Web.config file in Subfolder_L1 has the following
appSettings declarations:

<appSettings>
<add key="subfolder_l1" value="Subfolder_L1\web.config
file."/>
<add key="color" value="Green"/>
</appSettings>

The color setting is overridden by the subfolder
configuration file. We can read the root element from
Subfolder_L1 or Subfolder_L2 by the following code:

lblConfig.Text = ConfigurationSettings.AppSettings["root"];

But we can not read configuration settings defined in
Subfolder_L1's Web.config file from the root folder.

Is This Answer Correct ?    15 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Which asp.net objects encapsulate the state of the client and the browser?

774


How to create events for a control?

750


What is the difference between mvc (model-view-controller) and mvp (model-view-presenter)? : asp.net mvc

743


Which platform does Microsoft .NET use for exchanging data between applications?

765


What is the maximum timeout we can set for Cookies?

739


How to find out what version of asp.net I am using on my machine?

782


What is server side session management?

698


What is app_code folder in asp net?

735


What are the Difference between asp.net and asp ?

758


What do you understand by aggregate dependency?

789


What are the different method of navigation in asp.net?

735


How can you enable impersonation in the web.config file?

759


What are the namespaces used in asp.net mvc? : asp.net mvc

715


Why is it preferred to not use finalize for clean up?

720


What setting must be added in the configuration file to deny a particular user from accessing the secured resources?

710