在wcf服务方法中没有获取连接字符串值

时间:2016-12-23 11:23:09

标签: c# .net wcf connection-string

我有一个名为 AuxiliaryLib 的类库,其中包含以下应用设置:

<appSettings>
    <add key="connectionstring" value="Data Source=My-Pc;Initial Catalog=Db1;User ID=StackOverflow;Password=123456"></add>
  </appSettings>

现在,在这个类库中,我有一个类文件,它返回如下所示的连接字符串:

public static string ReturnConnectionString()
        {
            return System.Configuration.ConfigurationManager.AppSettings["connectionstring"];
        }

我有一个wcf项目,其中我已经提供了上面的类库的引用,即 AuxiliaryLib 并调用上面的连接字符串方法,但我得到了null。

 Public void MyMethod()
       {
         var connectionRepo = new ConnectionRepo();
         string str  = ConnectionRepo.ReturnConnectionString(); //getting null
       }

我在wcf项目中有web.config,我已添加连接字符串但仍然为null:

<appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
    <add key="connectionstring" value="Data Source=My-Pc;Initial Catalog=Db1;User ID=StackOverflow;Password=123456"></add>
  </appSettings>
 <!--<connectionStrings>
    <add name="connectionstring" connectionString="Data Source=My-Pc;Initial Catalog=Db1;User ID=StackOverflow;Password=123456"></add>
  </connectionStrings>-->



 Public void MyMethod(string regionId)
           {
               string str = ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString; // null
               string str = System.Configuration.ConfigurationManager.AppSettings["connectionstring"];// null
           }

注意: MyMethod正在线程池上运行:

ThreadPool.QueueUserWorkItem(new WaitCallback(MyMethod), new object[] { regionId });

1 个答案:

答案 0 :(得分:1)

你试过......

using System.Web.Configuration;

WebConfigurationManager.AppSettings["connectionstring"]