WCF服务绑定多个IP地址的问题
小污云姐姐 2012-06-06 07:29:56 我想绑定多个IP地址,代码如下:
m_ServiceHost = new ServiceHost(typeof(WService.Service));
IPAddress[] ipList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
for (int i = 0; i < ipList.Length; i++)
{
//m_ServiceHost.AddServiceEndpoint(typeof(WContracts.IServer), new BasicHttpBinding(), "http://" + ipList[i].ToString() + ":" + Common.DataAccess._ServerPort + "/Service");
m_ServiceHost.AddServiceEndpoint(typeof(WContracts.IServer), new BasicHttpBinding(BasicHttpSecurityMode.None), new Uri("http://127.0.0.1:" + Common.DataAccess._ServerPort + "/Service"), new Uri("http://" + ipList[i].ToString() + ":" + Common.DataAccess._ServerPort + "/Service"));
}
ServiceMetadataBehavior metadataBehavior = m_ServiceHost.Description.Behaviors.Find<ServiceMetadataBehavior>();
if (metadataBehavior == null)
{
metadataBehavior = new ServiceMetadataBehavior();
metadataBehavior.HttpGetEnabled = false;
m_ServiceHost.Description.Behaviors.Add(metadataBehavior);
}
ServiceDebugBehavior debugBehavior = m_ServiceHost.Description.Behaviors.Find<ServiceDebugBehavior>();
if (debugBehavior == null)
{
debugBehavior = new ServiceDebugBehavior();
debugBehavior.IncludeExceptionDetailInFaults = true;
m_ServiceHost.Description.Behaviors.Add(debugBehavior);
}
else
{
debugBehavior.IncludeExceptionDetailInFaults = true;
}
m_ServiceHost.Open();
OPEN的时候报错 http://192.168.18.1:4000/Service”处带有协定“"IServer"”的 ChannelDispatcher 无法打开其 IchannelListener。
也就是列表中的第二个IP地址的时候报错的,我的猜测应该是IServer 已经绑定,请问该如何修改呢,在线等,现在还在公司加班。