将WCF Web服务绑定到特定的网络接口/ IP

前端之家收集整理的这篇文章主要介绍了将WCF Web服务绑定到特定的网络接口/ IP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在具有多个网卡的计算机上,我需要将WCF Web服务绑定到特定的网络接口.似乎默认是在所有网络接口上绑定.

本机有两个网络适配器,IP为192.168.0.10和192.168.0.11.我有一个Apache运行绑定在192.168.0.10:80并需要在192.168.0.11:80上运行webservice. (由于外部环境,我无法选择其他端口.)

我尝试了以下方法

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),endpoint);

但它不起作用; netstat -ano -p tcp总是显示监听0.0.0.0:80的web服务,这是所有接口(如果我得到了正确的话).当我首先启动Apache时,它会正确绑定到另一个接口,从而阻止WCF服务绑定到“all”.

有任何想法吗?

解决方法

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

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

猜你在找的HTML相关文章