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="data source=DESKTOP-EIRHPII;initial
catalog=csharpnaija_employees;integrated
security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
AppSettings
A
ppSettings
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
Post a Comment