【发布时间】:2011-09-03 04:08:41
【问题描述】:
我正在尝试在 IIS 7.5 下建立一个具有多个 tcp.net 绑定的网站。
由于服务位于负载均衡器后面,我需要服务的多个端点:
log.o1881.no/log/service.svc
log.core1.o1881.no/log/service.svc
当我在 web.config 中配置时,这适用于 http 绑定:
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
将以下 tcp.net 绑定添加到站点时会出现以下错误消息:
808:log.o1881.no
808:log.core1.o1881.no
“/Log”应用程序中的服务器错误。
这个集合已经包含一个带有方案 net.tcp 的地址。此集合中的每个方案最多可以有一个地址。如果您的服务托管在 IIS 中,您可以通过将“system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled”设置为 true 或指定“system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters”来解决问题。 参数名称:项目
我也尝试将其添加到 web.config:
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
<baseAddressPrefixFilters>
<add prefix="net.tcp://log.o1881.no:808/log" />
<add prefix="net.tcp://log.core1.o1881.no:808/log" />
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
但这不起作用。
由于该服务将部署在多台服务器上,我非常希望能够通过配置和 IIS 设置来完成这项工作,而不是在代码中。
这是否可行,或者是否有其他方法来处理这种情况(http 和 net.tcp 上的多个绑定名称,由于负载平衡)?
【问题讨论】:
-
我已经尝试同样的事情超过一天了,但没有任何成功。确实有很多关于如何为 http 做这件事的讨论,但对于 net.tcp 却没有。我开始怀疑这是不可能的。 cfr。此帖link“仅Http协议支持多站点绑定”
-
这是可能的,但你必须小心你的配置和螺母over配置。
标签: c#-4.0 iis-7.5 wcf-binding net.tcp