使用WCF在app / web / config / settings上自定义键值对

时间:2013-07-23 14:04:22

标签: c# wcf web-config settings app-config

好的,我觉得这很容易。

我需要在WCF服务应用程序上配置几个键值对。

  • 可以使用哪个文件? 的app.config / web.config中/ settings.settings /等
  • 哪个最适合WCF(至少在VS2010中)?为什么?
  • 如何在配置文件中写入? (例如<sometag><add key="foo">bar</add></sometag>
  • 如何从项目的代码隐藏中调用它? ConfigurationManager["foo"].Something

我想我已经清楚地表明了我对每个文件的困惑。

我希望有人可以消散雾!

1 个答案:

答案 0 :(得分:3)

您的VS项目中应该有一个app.config文件。如果不这样做,可以通过右键单击解决方案资源管理器中的项目,然后单击添加,然后单击新项目,将项目添加到项目中。从“添加新项”屏幕中,您应该在左侧的常见项目中看到“常规”。双击中间屏幕中的第一个“应用程序配置文件”项,您应该很高兴。

从那里,您可以添加XML标记。

app.config中的典型格式如下所示:

 <?xml version="1.0"?>
 <configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    </startup>
    <appSettings>
       <add key="HostDomain" value="\\somedatabaseserver\DatabaseUnitTests" />
       <add key="Port" value="" />
     </appSettings>
 </configuration>

根据编译WCF服务的方式(采用哪种格式),您应该在\ project \ bin \ debug目录中找到一个与您的可执行文件或DLL同名的.config文件。

在代码中读取配置文件是这样的:

  Dim confReader As System.Configuration.AppSettingsReader = New System.Configuration.AppSettingsReader
  sHostDomain = confReader.GetValue("HostDomain", GetType(System.String)).ToString()
  sPort = confReader.GetValue("Port", GetType(System.String)).ToString()

希望有所帮助。