Ammar Asjad Ammar Asjad - 1 year ago 99
ASP.NET (C#) Question

Get Connection String from Web.config in asp.net

I want to know the ways to get connection string from web.config file in asp.net.

I just only know the below way .

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;

namespace Sherserve.DataAccessLayer
{
public class DBGateway
{
public static string conString;

public DBGateway()
{
conString = ConfigurationManager.ConnectionStrings["test"].ToString();
}
}
}

Answer Source

Using the ConfigurationManager.ConnectionStrings is about the only proper way, to use it properly with sanity check you can have such code:

public DBGateway()
{
    ConnectionStringSettings mySetting = ConfigurationManager.ConnectionStrings["test"];
    if (mySetting == null || string.IsNullOrEmpty(mySetting.ConnectionString))
        throw new Exception("Fatal error: missing connecting string in web.config file");
    conString = mySetting.ConnectionString;
}

This will throw useful error in case the connection string is missing, instead of cryptic "null object" error.

Worth to mention that the ConnectionStringSettings class is overriding the ToString() method:

public override string ToString()
{
    return this.ConnectionString;
}

So it means that using ConfigurationManager.ConnectionStrings["test"].ToString() is the same like ConfigurationManager.ConnectionStrings["test"].ConnectionString however you still better perform sanity check and personally it looks cleaner to use the actual property and not depend on the class to give it.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download