Skip to main content

Web Configuration File


What is web.config?


Web.config is an application configuration file of The OfficialMicrosoft ASP.NET Site written in XML. It stays is the root directory of application and is responsible for controlling the application’s behaviour.
It configures Application security, SQL Database connection, session types and duration, the modules in the HTTP pipeline, HTTP handlers, WCF services inter-operability and many customization in the application context.
Other configurations like default document, directory access, default theme and validation types can also be configured.
A configuration file (web.config) is used to manage various settings that define a website. The settings are stored in XML files that are separate from your application code. In this way you can configure settings independently from your code.
Generally a website contains a single Web.config file stored inside the application root directory. However there can be many configuration files that manage settings at various levels within an application.

Uses of configuration file

ASP.NET Configuration system is used to describe the properties and behaviors of various aspects of ASP.NET applications. Configuration files help you to manage the many settings related to our website. Each file is an XML file (with the extension .config) that contains a set of configuration elements. Configuration information is stored in XML-based text files.

Advantages of XML-based Configuration files

Ø  ASP.NET Configuration system is extensible and application specific information can be stored and retrieved easily. It is human readable.
Ø  You need not restart the web server when the settings are changed in configuration file. ASP.NET automatically detects the changes and applies them to the running ASP.NET application.
Ø  You can use any standard text editor or XML parser to create and edit ASP.NET configuration files.

 Content of Web.Config file

There are number of important settings that can be stored in the configuration file. Some of the most frequently used configurations, stored conveniently inside Web.config file are:
ü Database connections
ü Application Settings
ü Configuration
ü Authentication and Authorization

Database Connections

This section of the configuration contains the connection string to our database it is within configuration element and has an element tag as <connectionstring></connectionstring> as shown below
<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=DESKTOP-EIRHPII;Initial Catalog=csharpnaija_employees;Integrated Security=True" providerName="System.Data.SqlClient" />
   
    <add name="csharpnaija_employeesEntities" connectionString="metadata=res://*/Models.Csharpnaija.csdl|res://*/Models.Csharpnaija.ssdl|res://*/Models.Csharpnaija.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DESKTOP-EIRHPII;initial catalog=csharpnaija_employees;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

 AppSettings

AppSettings section contains the application setting information which is inform of key value pairs enclosed in an appsettings element as shown in code snippet below.
<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

ConfigSections

This section helps you to create your own custom configuration section that can be used with the web.config file. ConfigSections should be declared just below the configuration (parent element) otherwise it is going throw you an error.
<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

Authentication and Authorization

This section is used for setting up authentication and authorization modes, they are basically declare within system.web xml element in the configuration file as shown below
<system.web>
    <authentication mode="None" />
    <authorization>
      <allow roles="Admin"/>
      <deny users="*"/>
    </authorization>
    <compilation debug="true" targetFramework="4.7.2" />
    <httpRuntime targetFramework="4.7.2" />
</system.web>

How to Access Web.config file programmatically

We can use the C# classes to read and write the values to the Web.config file.
ConfigurationManager class is a static class with some static methods such as ConnectionStrings, AppSettings, GetSection, RefreshSection, OpenExeConfiguration etc the class is namespace System.Configuration
Example 1
To get our connection string from configuration file, we use the below code snippet
var connString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
Example 2
To get AppSettings key value from configuration file, we use the code snippet below;
var key = ConfigurationManager.AppSettings["AppKey"];

Comments

Popular posts from this blog

Collections in C#

Collections in C# In our previous article , we have learned about how we can use arrays in C#. Arrays in programming are used to group a set of related objects. So one could create an array or a set of Integers, which could be accessed via one variable name. What is Collections in C#? Collections are similar to Arrays, it provides a more flexible way of working with a group of objects. In arrays, you would have noticed that you need to define the number of elements in an array beforehand. This had to be done when the array was declared. But in a collection, you don't need to define the size of the collection beforehand. You can add elements or even remove elements from the collection at any point of time. This article will focus on how we can work with the different collections available in C#. There are three distinct collection types in C#: standard generic concurrent The standard collections are found under the System.Collections. They do not store elemen...

The String.Join Method in C# Explained

The String.Join Method in C#   The string.Join concatenates the elements of a specified array or the members of a collection, using the specified separator between each element or member. Overloads of string.Join Method Description Join(Char, Object[]) Concatenates the string representations of an array of objects, using the specified separator between each member. Join(Char, String[]) Concatenates an array of strings, using the specified separator between each member. Join(String, IEnumerable<String>) Concatenates the members of a constructed IEnumerable<T> collection of type String, using the specified separator between each member. Join(String, Object[]) Concatenates the elements of an object array, using the specified separator between each element. Join(String, String[]) Concatenates all the elements of a string array, usi...

System.IO Namesapce in C#

  System.IO Namesapce in C# A  file  is a collection of data stored in a disk with a specific name and a directory path. When a file is opened for reading or writing, it becomes a  stream . The stream is basically the sequence of bytes passing through the communication path. There are two main streams: the  input stream  and the  output stream . The  input stream  is used for reading data from file (read operation) and the  output stream  is used for writing into the file (write operation). From the above definition of file, the C# provides a namespace that enable us to manipulate file in C# called System.IO.   System.IO  is a  namespace  and it contains a standard IO (input/output) types such as classes , structures , enumerations , and  delegates  to perform a read/write operations on different sources like file, memory, network, etc.   System.IO Classes The table below shows differen...