gpt4 book ai didi

c#-4.0 - WCF : Multiple bindings on TCP. 网络

转载 作者:行者123 更新时间:2023-12-01 05:39:59 25 4
gpt4 key购买 nike

我正在尝试在 IIS 7.5 下建立一个具有多个 tcp.net 绑定(bind)的网站。

由于该服务位于负载均衡器后面,因此我需要该服务的多个端点:

log.o1881.no/log/service.svc

log.core1.o1881.no/log/service.svc

当我在 web.config 中配置时,这适用于 http 绑定(bind):

<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>

将以下 tcp.net 绑定(bind)添加到站点时会出现以下错误消息:

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 上的多个绑定(bind)名称,由于负载平衡)?

最佳答案

根据documentation使用 multipleSiteBindingsEnabled 告诉 WCF 忽略任何 <baseAddressPrefixFilters> .

“当使用此设置启用多个站点绑定(bind)时,对于 HTTP 和非 HTTP 协议(protocol),任何 baseAddressPrefixFilters 设置都会被忽略。”

因此,此配置自相矛盾,您正在指定地址前缀并同时指示 WCF 忽略它们,因为您指定了 multipleSiteBindingsEnabled。

<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>

我认为 multipleSiteBindingsEnabled 最适合您只对使用 HTTP 方案感兴趣的场景。

否则不要使用它,你实际上可以 在同一 IIS 站点/应用层次结构中的不同端口上具有多个 tcp.net 绑定(bind) .
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="net.tcp://log.o1881.no:808/log" />
<add prefix="net.tcp://log.core1.o1881.no:808/log" />
</baseAddressPrefixFilters>
</serviceHostingEnvironment>

希望这对其他人有帮助:)

关于c#-4.0 - WCF : Multiple bindings on TCP. 网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com