我正在尝试从未启用ASP.NET的WCF Web服务中的Constants.config
文件中读取。
Configuration rootWebConfig1 = Configuration.WebConfigurationManager.OpenWebConfiguration("Constants.config");
此调用引发异常,似乎OpenWebConfiguration
尝试在某个不同的位置打开配置文件。我如何知道它的查找位置以及如何指定目标文件夹?
非常感谢。 伊兰。
答案 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类。