gpt4 book ai didi

wcf - 将 WCF webservice 绑定(bind)到特定的网络接口(interface)/IP

转载 作者:行者123 更新时间:2023-12-04 08:50:32 26 4
gpt4 key购买 nike

在具有多个网卡的机器上,我需要将 WCF Web 服务绑定(bind)到特定的网络接口(interface)。似乎默认是在所有网络接口(interface)上绑定(bind)。

这台机器有两个 IP 地址为 192.168.0.10 的网络适配器。和 192.168.0.11 .我有一个运行在 192.168.0. 上的 Apache 10 :80并且需要在 192.168.0. 上运行网络服务 11 :80 . (由于外部情况,我无法选择其他端口。)

我尝试了以下方法:

string endpoint = "http://192.168.0.11:80/SOAP";
ServiceHost = new ServiceHost(typeof(TService), new Uri(endpoint));
ServiceHost.AddServiceEndpoint(typeof(TContract), Binding, "");
// or: ServiceHost.AddServiceEndpoint(typeof(TContract), Binding, endpoint);

但它不起作用; netstat -ano -p tcp总是显示监听 0.0.0.0:80 的网络服务,这是所有接口(interface)(如果我猜对了)。当我首先启动 Apache 时,它​​会正确绑定(bind)到另一个接口(interface),这反过来又会阻止 WCF 服务绑定(bind)到“全部”。

有任何想法吗?

最佳答案

我们在我的工作场所遇到了类似的问题,当我偶然发现你的帖子时,我正在为此做研究。我还没有机会尝试它,但计划在有机会时尝试:Binding 上有一个“hostNameComparisonMode”,当设置为“Exact”时,它应该始终遵守您的设置。 (如果找不到匹配项,默认允许它转到通配符。)

如果你有机会在我之前尝试这个,请告诉我结果。否则,我会更新我的答案并让你知道!

关于wcf - 将 WCF webservice 绑定(bind)到特定的网络接口(interface)/IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2820618/

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