从 WCF Web 服务中的配置文件读取
我正在尝试从未启用 ASP.NET 的 WCF Web 服务中的 Constants.config
文件中读取内容。
Configuration rootWebConfig1 = Configuration.WebConfigurationManager.OpenWebConfiguration("Constants.config");
此调用引发了异常,并且 OpenWebConfiguration
似乎尝试在某个不同的位置打开配置文件。我如何知道它在哪里寻找以及如何指定目标文件夹?
多谢。 宜兰.
I'm trying to read from Constants.config
file within not ASP.NET enabled WCF web service.
Configuration rootWebConfig1 = Configuration.WebConfigurationManager.OpenWebConfiguration("Constants.config");
This call threw an exception, and it's seems like that OpenWebConfiguration
tries open the config file in some different location. How can I know where it looks for and how can I specify the target folder?
Thanks a lot.
Ilan.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
OpenWebConfiguration
旨在打开Web 配置文件 - 例如仅web.config
...您不能使用它来打开您自己的据我所知,配置文件。
不过,您可以使用 .NET
System.Configuration
命名空间中的常规Configuration
类。查看 Jon Rista 在 CodeProject 上关于 .NET 2.0 配置的三部分系列:强烈推荐,写得很好并且非常有帮助!
在第 3 部分中,Jon 展示了如何使用自己的自定义配置文件并在
ExeConfigurationFileMap
类的帮助下打开它们:OpenWebConfiguration
is intended to open a web configuration file - e.g. aweb.config
only...You can't use it to open your own config files, as far a I know.
You can however use the regular
Configuration
class from the .NETSystem.Configuration
namespace. Check out Jon Rista's three-part series on .NET 2.0 configuration up on CodeProject:Highly recommended, well written and extremely helpful!
In part 3, Jon shows how you can use your own custom config files and open them with the help of the
ExeConfigurationFileMap
class:您可以执行 marc_s 所说的操作并使用 配置(已弃用) 或 ConfigurationManager,或者如果您希望 WCF 服务支持 ASP您可以打开的 .NET 功能 ASP.NET通过使用 装饰您的服务实现来实现兼容性 AspNetCompatibilityRequirementsAttribute。
如果该服务将绑定到始终托管在 IIS 中的 ASP.NET 站点,并且将使用 ASP.NET 会话,那么这可能是正确的选择。如果不使用 ConfigurationManager 类。
You can either do what marc_s said and use the Configuration (depreciated) or ConfigurationManager, or if you want you WCF service to support ASP.NET features you can turn on ASP.NET Compatability by decorating your service implementation with an AspNetCompatibilityRequirementsAttribute.
If the service will be tied to an ASP.NET site, always hosted in IIS, and would be making use of the ASP.NET session, this is probably the way to go. If not use the ConfigurationManager class.