0

有一项服务,将一个端点公开为基本的 http 绑定。我有两种类型的托管(selfhost 用于测试,iis 用于生产)

我正在使用配置管理器,它必须从配置中读取服务模型部分。当然,当它是self-host时,配置文件是myapp.exe.config,它与执行程序集位于同一路径,当它在iss下运行时,它是web.config。

所以我想使用 configurationmanager.openmappedexeconfiguration 并为其提供配置路径。

但我需要了解现在使用什么托管类型。没有 httpcontex.current 因为它是基本的 http 绑定。(如果是,我将能够使用它来检查它是否为空,如果不是,它是 iss 托管)。

如何解决问题?

4

1 回答 1

0

我有点困惑:ConfigurationManager 应该知道从 bith appp 和 web config 中读取 appSettings。

您也可能不需要自己阅读服务模型部分 - 让 wcf 为您完成。它也可以关心配置。

您还可以在代码中设置服务详细信息 - 以避免配置搜索。

如果您别无选择(我将用作最后一个选项) - 可能会尝试使用 Assembly 正在运行的 exe 路径,例如 Assembly.GetExecutingAssembly()

于 2013-04-26T04:26:59.100 回答