i have two project 1) class library with no inteface just an api 2) web application
from web apps i will be calling the class library api
so i have all the web.config settings in the web application but when i debug it always return me null value and here is the code snippit:
public static string readingDB
{
get
{
string result = null;
result = ConfigurationManager.AppSettings["employeeDB"]; //conn string
if (!string.IsNullOrEmpty(result))
{
return result;
}
else
{
return ""; //???? THROW EXCEPTION???
}
}
}
i have also tried, creating a new app.config in the class library project and have the same appsettings there but does not work...
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<applicationSettings>
<add name="employeeDB" connectionString="Data Source=servername;Initial Catalog=employee;Persist Security Info=True;User ID=userid;Password=password;"/>
</applicationSettings>
<customErrors mode="On"/>
</configuration>
any help?
your syntax is incorrect, it should be
<configuration>
<appSettings>
<add key="employeeDB" value="Data Source=servername;Initial Catalog=employee;Persist Security Info=True;User ID=userid;Password=password;"/>
</appSettings>
</configuration>
or more correctly, since it's a connection string,
<configuration>
<connectionStrings>
<add name="employeeDB" connectionString="Data Source=servername;Initial Catalog=employee;Persist Security Info=True;User ID=userid;Password=password;"/>
</connectionStrings>
</configuration>
which would be read by ConfigurationManager.ConnectionStrings["employeeDB"]
Your tag is wrong..it should be 'appSettings' not 'applicationSettings'
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add name="employeeDB" connectionString="Data Source=servername;Initial Catalog=employee;Persist Security Info=True;User ID=userid;Password=password;"/>
</appSettings>
<customErrors mode="On"/>
</configuration>
Also, the System.Configuration assembly is not automatically added to a class library.
- Right click on the project in the Solution Explorer
- Click Add > Reference
- Check System.Configuration in the Assemblies > Framework tab
appSettings is should be like
<appSettings>
<add key="employeeDB" value="xxxx" />
</appSettings>
just saw the post and i had same problem but i got a way..
add System.Web.Configuration
reference to your class library prj
then
ConnectingString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
Hope this will help
来源:https://stackoverflow.com/questions/8422072/reading-web-config-from-class-library