繁体   English   中英

从类库中读取web.config

[英]reading web.config from class library

我有两个项目1)类库,没有接口只是一个api 2)Web应用程序

从网络应用程序我将调用类库api

所以我在Web应用程序中拥有所有web.config设置,但是当我调试它总是返回我的null值,这里是代码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???
                }
            }
        }

我也试过,在类库项目中创建一个新的app.config,并在那里有相同的appsettings但不起作用...

<?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>

任何帮助?

你的语法不正确,应该是

<configuration>  
  <appSettings>  
    <add key="employeeDB" value="Data Source=servername;Initial Catalog=employee;Persist Security Info=True;User ID=userid;Password=password;"/> 
  </appSettings>  
</configuration>  

或者更准确地说,因为它是一个连接字符串,

<configuration>  
  <connectionStrings>  
    <add name="employeeDB" connectionString="Data Source=servername;Initial Catalog=employee;Persist Security Info=True;User ID=userid;Password=password;"/>  
  </connectionStrings>  
</configuration>  

这将由ConfigurationManager.ConnectionStrings["employeeDB"]读取

此外,System.Configuration程序集不会自动添加到类库中。

  1. 在解决方案资源管理器中右键单击该项目
  2. 单击添加>参考
  3. 在“程序集”>“框架”选项卡中检查System.Configuration

你的标签是错误的..应该是'appSettings'而不是'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>

刚看到帖子,我有同样的问题,但我有办法..添加System.Web.Configuration引用你的类库prj然后

ConnectingString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

希望这会有所帮助

appSettings应该是这样的

<appSettings>
    <add key="employeeDB" value="xxxx" />
</appSettings>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM