reading web.config from class library

2019-03-02 02:06发布

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?

5条回答
\"骚年 ilove
2楼-- · 2019-03-02 02:33

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"]

查看更多
劫难
3楼-- · 2019-03-02 02:41

Also, the System.Configuration assembly is not automatically added to a class library.

  1. Right click on the project in the Solution Explorer
  2. Click Add > Reference
  3. Check System.Configuration in the Assemblies > Framework tab
查看更多
女痞
4楼-- · 2019-03-02 02:41

appSettings is should be like

<appSettings>
    <add key="employeeDB" value="xxxx" />
</appSettings>
查看更多
何必那么认真
5楼-- · 2019-03-02 02:47

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>
查看更多
beautiful°
6楼-- · 2019-03-02 02:53

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

查看更多
登录 后发表回答