从WCF Web服务中的配置文件中读取

时间:2011-08-14 13:46:47

标签: .net wcf web-services web-config

我正在尝试从未启用ASP.NET的WCF Web服务中的Constants.config文件中读取。

Configuration rootWebConfig1 = Configuration.WebConfigurationManager.OpenWebConfiguration("Constants.config");

此调用引发异常,似乎OpenWebConfiguration尝试在某个不同的位置打开配置文件。我如何知道它的查找位置以及如何指定目标文件夹?

非常感谢。 伊兰。

2 个答案:

答案 0 :(得分:0)

OpenWebConfiguration旨在打开网络配置文件 - 例如只有web.config ......

据我所知,您无法使用它来打开自己的配置文件。

但是,您可以使用.NET Configuration命名空间中的常规System.Configuration类。在CodeProject上查看Jon Rista关于.NET 2.0配置的三部分系列文章:

强烈推荐,写得很好,非常有帮助!

在第3部分中,Jon展示了如何使用自己的自定义配置文件并在ExeConfigurationFileMap类的帮助下打开它们:

ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap();
exeMap.ExeConfigFilename = "C:\Application\Constants.config";

Configuration exeConfig = 
  ConfigurationManager.OpenMappedExeConfiguration(exeMap, ConfigurationUserLevel.None);

答案 1 :(得分:0)

您可以执行marc_s所说的内容并使用Configuration (depreciated)ConfigurationManager,或者如果您希望WCF服务支持ASP.NET功能,则可以启用{{3}通过使用ASP.NET Compatability装饰您的服务实现。

如果该服务将绑定到一个ASP.NET站点,始终在IIS中托管,并且将使用ASP.NET会话,这可能是要走的路。如果不使用ConfigurationManager类。