What is web.config file in asp.net?

February 1, 2014

Web.config 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.

Does web.config file case-sensitive? : Yes

Web.config file is stored in which form? : Web.config files are stored in XML format.

Can one directory contain multiple web.config files? : No. One directory can contain only one file.

Can you tell the location of the root web.confit file from which all web.config file inherit? : All the Web.config files inherit the root Web.config file available at the following location systemroot\Microsoft.NET\Framework\versionNumber\CONFIG\Web.config

What is the root tag of web.config file ? : <configuration> tag is the root element of the Web.config file under which it has all the remaining sub elements.

What is the use of customErrors tag in web.config file ? : CustomErrors tag provides information about custom error messages for an ASP.NET application. The customErrors element can be defined at any level in the application file hierarchy.

<customErrors defaultRedirect ="Error.aspx" mode ="Off">
   <error statusCode ="401" redirect ="Unauthorized.aspx"/>

The customErrors section consists of defaultRedirect and mode attributes which specify the default redirect page and the on/off mode respectively.
The subsection of customErrors section allows redirecting to specified page depending on the error status code.
400 Bad Request
401 Unauthorized
404 Not Found
408 Request Timeout

Can you describe the funcnalitity of <httpHandlers> tab in web.config? : HttpHandler is a code that executes when an http request for a specific resource is made to the server. For example, request an .aspx page the ASP.NET page handler is executed, similarly if an .asmx file is requested, the ASP.NET service handler is executed. An HTTP Handler is a component that handles the ASP.NET requests at a lower level than ASP.NET is capable of handling.

What is authentication tag/section in web.config? : ASP.NET implements additional authentication schemes using authentication providers, which are separate from and apply only after the IIS authentication schemes. ASP.NET supports the following authentication providers:
Windows (default)
To enable an authentication provider for an ASP.NET application, use the authentication element in either machine.config or Web.config as follows:

   <!-- mode=[Windows|Forms|Passport|None] -->
   <authentication mode="Windows" />


For which purpose you use <appSettings> tag? : appSettings tag helps us to store the application settings information like connection strings, file paths, URLs, port numbers, custom key value pairs, etc.

    <add key="ConString" value="Data Srouce=....."/>
What is the use of connectionStrings tag? : <connectionStrings> is the most common section of web.config file which allows you to store multiple connection strings that are used in the application.

    <add name ="ConString" connectionString ="Initial Catalog = abc; 
        Data Source =localhost; Integrated Security = true"/>
Can you write down the C# code for reading connection string which is defined in web.config? : Code
string cnn = ConfigurationManager.ConnectionStrings[“ConString”].ConnectionString;