How can I read a connection string from a web.config
file into a public class contained within a class library?
I’ve tried:
WebConfigurationManager ConfigurationManager
But these classes are not recognized within my class library.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
You need to add a reference to System.Configuration
and then use:
System.Configuration.ConfigurationManager. ConnectionStrings["connectionStringName"].ConnectionString;
Method 2
Add System.Configuration
as a reference.
For some bizarre reason it’s not included by default.
Method 3
C#
// Add a using directive at the top of your code file using System.Configuration; // Within the code body set your variable string cs = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;
VB
' Add an Imports statement at the top of your code file Imports System.Configuration ' Within the code body set your variable Dim cs as String = ConfigurationManager.ConnectionStrings("connectionStringName").ConnectionString
Method 4
Add System.Configuration
as a reference then:
using System.Configuration; ... string conn = ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;
Method 5
I guess you need to add a reference to the System.Configuration assembly if that have not already been added.
Also, you may need to insert the following line at the top of your code file:
using System.Configuration;
Method 6
using System; using System.Collections.Generic; using System.Configuration; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.DataVisualization.Charting; using System.Web.UI.WebControls;
C#
string constring = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString; using (SqlConnection con = new SqlConnection(constring))
BELOW WEB.CONFIG FILE CODE
<connectionStrings> <add name="ABCD" connectionString="Data Source=DESKTOP-SU3NKUUMSSQLSERVER2016;Initial Catalog=TESTKISWRMIP;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
In the above Code ABCD is the Connection Name
Method 7
In VB
: This should work
ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString
In C#
it would be (as per comment of Ala)
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
Method 8
You have to invoke this class on the top of your page or class :
using System.Configuration;
Then you can use this Method that returns the connection string to be ready to passed to the sqlconnection object to continue your work as follows:
private string ReturnConnectionString() { // Put the name the Sqlconnection from WebConfig.. return ConfigurationManager.ConnectionStrings["DBWebConfigString"].ConnectionString; }
Just to make a clear clarification this is the value in the web Config:
<add name="DBWebConfigString" connectionString="....." /> </connectionStrings>
Method 9
using System.Configuration; string conn = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
Method 10
using System.Configuration; string connString = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
Remember don’t Use ConnectionStrings[index] because you might of Global machine Config and Portability
Method 11
First add this:
using System.Configuration;
Method 12
Everybody seems to be suggesting that adding
using System.Configuration;
which is true.
But might I suggest that you think about installing ReSharper’s Visual Studio extension?
With it installed, instead of seeing an error that a class isn’t defined, you’ll see a prompt that tells you which assembly it is in, asking you if you want it to add the needed using statement.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0