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 已经绑定,请问该如何修改呢,在线等,现在还在公司加班。
...全文
465 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
a12321321321312321 2012-09-17
  • 打赏
  • 举报
回复
127.0.0.1 改成localhost就是绑定本机所有IP,不用手动去添加。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧