有一项服务,将一个端点暴露为基本的http绑定。 我有两种类型的托管(selfhost for test,iis for production)
我正在使用configurationmanager,它必须从config读取服务模型部分。 当然,当它是自托管时,配置文件是myapp.exe.config,它位于与执行程序集相同的路径中,当它在iss下运行时,它是web.config。
所以我想使用configurationmanager.openmappedexeconfiguration并为它提供配置路径。
但我需要了解现在使用的托管类型。没有httpcontex.current,因为它是基本的http绑定。 (如果是的话,我将能够使用它来检查它是否为空,如果不是,则为主机托管)。
如何解决问题?
答案 0 :(得分:0)
我有点困惑:ConfigurationManager应该知道从bith appp和web config读取appSettings。
你也可能不需要自己阅读服务模型部分 - 让wcf为你做。它也可以关心配置。
您还可以在代码中设置服务详细信息 - 以避免配置搜索。
如果您别无选择(我将其用作最后一个选项) - 可能会尝试使用Assembly的运行exe路径,例如
Assembly.GetExecutingAssembly()