0

我有一个运行 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

这些都不起作用。:(

非常感谢!

4

1 回答 1

0

其配股。右键单击您的新网站 --> 然后Edit Permissions。在属性窗口上单击安全选项卡和编辑按钮。然后添加 IIS_IUSRS并赋予读取和执行、列出文件夹内容、读取权限。现在iisreset并开始在新网站上托管和连接 net tcp。

于 2016-07-25T08:39:07.327 回答