【发布时间】:2020-01-11 12:42:42
【问题描述】:
我有一个服务引用了其他服务,其中一些引用了同一服务的不同环境(例如 prod/test)。
我正在使用#if 预编译指令通过using 语句包含这些引用的不同版本。示例:
#if Debug
using ServiceTest
#else
using ServiceProd
#endif
在Web.config 文件中,<client> 节点中有两个子节点。示例:
<client>
<endpoint address="http://test.domain.com/Service"
binding="basicHttpBinding" bindingConfiguration="Service"
contract="ServiceTest" name="Service" />
<endpoint address="http://prod.domain.com/Service"
binding="basicHttpBinding" bindingConfiguration="Service"
contract="ServiceProd" name="Service" />
</client>
Web.config 的上述部分是否有效?更准确地说,是否会因为有两个具有相同名称和绑定配置的端点而产生任何副作用?主要问题是调用了错误的端点(例如调用 prod 端点而不是 test 或其他方式)。
我们将不胜感激任何有关上述内容的指导和建议。
【问题讨论】:
-
您尝试使用唯一的端点名称吗?
-
@SelimYıldız,没有。这个想法是,在同一时间(对 Prod 或 Test)只有一个端点引用,并且首选方法是在 Web.config 中为所有环境使用一个名称。我试图弄清楚这种方法是否会产生任何副作用。该解决方案已构建并运行良好,但我不确定是否有任何我根本不知道的陷阱,因为我是这部分功能的新手。
-
您添加的配置元素似乎与 WCF 相关。因此,您可能应该编辑您的问题以反映这一点。
标签: asp.net wcf iis web-config