Store connection string in web.config

by Sebastian Affakes
It is very easy to store the connection string in a config file and there are several benefits in doing so. This article describes why and how to store the connection string in web.config.
It is a good practice to store the connection string for your application in a config file rather than as a hard coded string in your code. The way to do this differs between .NET 2.0 and .NET 3.5 (and above). This article cover booth.
Connection string in .NET 2.0 config file
In the appSettings location, add a key named whatever you like to reference your connection string to.
<add key="myConnectionString" value="server=localhost;database=myDb;uid=myUser;password=myPass;" />
To read the connection string from code, use the ConfigurationSettings class.
string connStr = ConfigurationSettings.AppSettings("myConnectionString");
Now you have the connection string loaded from web.config into your string variable in code.
Connection string in .NET 3.5 (and above) config file
Do not use appsettings in web.config. Instead use the connectionStrings section in web.config.
<add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
To read the connection string into your code, use the ConfigurationManager class.
string connStr = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
Remember to add reference to the System.Configuration component. Then include the namespace ("using System.Configuration;" in C# and "imports System.Configuration" in VB.Net) in your code to get access to the ConfigurationManager class.
Always store the connection string in a config file. It's not any harder once you get used to it and you will benefit from it as it is much easier to change connection string properties when your application is in production.