将net.tcp WCF服务从localhost移动到新站点上的IP地址,服务将无法加载

时间:2011-09-14 20:14:51

标签: wcf was net.tcp

我有一个运行2个WCF服务的网站。工作很棒,直到我需要将它们从IIS7中的“默认网站”移动到具有新IP地址的专用网站。现在我收到错误消息:

“...无法加载,因为找到了该合同的多个端点配置。请按名称指明首选端点配置部分”

我所做的就是改变:

的net.tcp://本地主机/ ...

TO:

的net.tcp://10.1.2.204 / ...

我更改了曾经使用localhost指定IP地址的配置中的每个位置。新网站的设置与正确的net.tcp绑定完全相同,并且绑定到10.1.2.204的单个IP地址。

我似乎无法弄清楚发生了什么。我正在查看svc跟踪日志,我得到的是一堆相同的。

我的新网站被称为“核心”,而之前我在“默认网站”上托管。我添加了一个新的FQDN /公共IP来路由到这个新站点(向后到所提到的私有IP地址)。现在我的服务被破坏了。

我知道在使用IIS / WAS托管时会忽略baseAddress,所以我不确定还要检查什么。我在配置中完全没有改变。

我还可以提供哪些帮助解决此问题?

-

我也在服务跟踪查看器中看到了这一点:

活动名称接收连接上的字节'收听'net.tcp://hole.myserver.com / ...'。'。

...但是WCF服务实际上托管在新的“核心”网站上,该网站转换为我的新私有IP地址。我已更改示例的FQDN名称。说清楚:

我曾经使用默认网站在此服务器上拥有1个FQDN。

我现在为此服务器添加了第二个FQDN,新网站,第二个IP。在我看来,监听应该针对:net.tcp://core.myserver.com而不是net.tcp://hole.myserver.com。我们假装服务器名称是hole.myserver.com,我的新网站是同一台服务器上的core.myserver.com。

希望这不会令人困惑,你可以理解它。

我使用默认的net.tcp端口808和绑定808:*

-

这是我可以告诉的第一个例外:

套接字连接已中止。这可能是由于处理消息的错误或远程主机超出接收超时或基础网络资源问题引起的。本地套接字超时为'00:00:10'。

-

这些组合都不会激活服务,并且所有组合都会产生相同的异常:

  

的net.tcp://本地主机   的net.tcp://本地主机:808   的net.tcp://10.1.2.204   的net.tcp://10.1.2.204:808

甚至使用我以前做过的不同端口而没有问题:

  

的net.tcp://本地主机:75   的net.tcp://10.1.2.204:75

这些都不起作用。 :(

非常感谢!

1 个答案:

答案 0 :(得分:0)

其权利问题。右键点击您的新网站 - >然后编辑权限。在属性窗口中,单击安全性选项卡和编辑按钮。然后添加IIS_IUSRS 并提供 Read&执行,列出文件夹内容,读取权限。现在 iisreset 并开始在新网站上托管并连接net tcp。