WCF服务配置:如何使用C#在代码中访问AppSettings

Mor*_*geh 3 .net c# wcf

我已经google了,刚刚发现大量关于如何设置WCF服务配置的页面,这不是我想要的lol.

基本上,我有我的服务内的工厂类从配置文件读取定制属性,以确定然而,创造出数据访问对象,每当我尝试测试它,我得到一个NullReferenceException.

这是代码:

    public string Config { get; set; }

    public ProjectFactory()
    {
        Config = ConfigurationManager.AppSettings["ProjectDAOConfig"].ToString();
        LoadDAO();
    }
Run Code Online (Sandbox Code Playgroud)

这是服务的We.config文件中的自定义属性:

<configuration>
    <configSections>
         //Sections removed to make it tidier
    </configSections>
   <appSettings>
       <add key="ProjectDAOConfig" value="stub"/>
   </appSettings>
   <connectionStrings/>
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?属性是否在错误的配置文件中?如果是这样,我应该创建一个App.Config文件,因为目前还没有?

编辑:我在asp.net网站上使用了相同的方法,它工作正常.

Shi*_*iji 6

如果从网站运行代码,它将从web.config中读取.

如果直接运行代码,它将使用代码开始运行的项目中的app.config.例如,如果从单元测试运行它,则它是单元测试项目的app.config.