我有一个运行 2 个 WCF 服务的网站。工作很棒,直到我需要将它们从 IIS7 中的“默认网站”移动到具有新 IP 地址的专用网站。现在我收到错误消息:
“...无法加载,因为找到了该合约的多个端点配置。请按名称指明首选端点配置部分”
我所做的只是改变:
net.tcp://localhost/...
至:
net.tcp://10.1.2.204/...
我已经将配置中曾经使用 localhost 的每个位置更改为指定的 IP 地址。新网站的设置与正确的 net.tcp 绑定完全相同,并且绑定到单个 IP 地址 10.1.2.204。
我似乎无法弄清楚发生了什么。我正在查看 svc 跟踪日志,我得到的只是一堆相同的。
我的新网站被称为“核心”,而之前我在“默认网站”上托管。我添加了一个新的 FQDN/公共 IP 来路由到这个新站点(反向到提到的私有 IP 地址)。现在我的服务被破坏了。
我知道使用 IIS/WAS 托管时会忽略 baseAddress,所以我不确定还要检查什么。我在配置中完全没有改变任何其他内容。
我还能提供什么来帮助解决此问题?
--
我也在服务跟踪查看器中看到了这一点:
活动名称在连接上接收字节'Listen at 'net.tcp://hole.myserver.com/...'.'。
...但是 WCF 服务实际上托管在那个新的“核心”网站上,该网站转换为我的新私有 IP 地址。我已更改示例的 FQDN 名称。说清楚:
我曾经使用默认网站在此服务器上拥有 1 个 FQDN。
我现在向该服务器、新网站、第二个 IP 添加了第二个 FQDN。在我看来,监听应该指向:net.tcp://core.myserver.com 而不是 net.tcp://hole.myserver.com。假设服务器名称是hole.myserver.com,而我的新网站是core.myserver.com,位于同一台服务器上。
希望这不会令人困惑,您可以理解它。
我正在使用 808 的默认 net.tcp 端口和 808 的绑定:*
--
这是我可以告诉的第一个异常:
套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。本地套接字超时为“00:00:10”。
--
这些组合都不会激活服务并且都会产生相同的异常:
net.tcp://localhost net.tcp://localhost:808 net.tcp://10.1.2.204 net.tcp://10.1.2.204:808
即使使用我以前做过的不同端口也没有问题:
net.tcp://localhost:75 net.tcp://10.1.2.204:75
这些都不起作用。:(
非常感谢!