3

如果需要为异构环境中的单个合同公开多个端点(例如,一个带有 basicHttpBinding,另一个带有 netTcpBinding),在 WAS 托管的服务上,如何做到这一点?

我读到的关于端点的 WAS 配置的所有内容都表明端点地址和主机基地址应该留空,因为 WAS 应该通过 .svc 文件和协议的路径自动解析地址。

但是,如果不说明地址,似乎不可能为同一个合约定义一个 HTTP 端点和一个 TCP 端点。到目前为止,我的每一次尝试都让我梦寐以求的“绑定实例已经与监听 uri 相关联”错误。

想法?

谢谢

4

2 回答 2

1

看看这是否适合你 http://knowledgebaseworld.blogspot.com/2010/06/domain-name-replaced-with-machine-name.html 我遇到了同样的问题“绑定实例已经关联到监听 uri " 通过添加 httpGetUrl 和绑定地址来修复

于 2010-06-24T00:36:30.303 回答
0

据我了解,*.svc 文件仅适用于 HTTP 协议,例如,您可以将其用于basicHttpBinding连接。在这种情况下,您是绝对正确的 - 服务的基地址和端点的地址属性被忽略 - 服务 URI 由服务器名称、可选端口、SVC 文件所在的虚拟目录以及名称和扩展名定义SVC 文件本身。

因此,只要您不需要多个不同的类似 HTTP 的协议和端点,一个 SVC 文件就应该负责 HTTP 流量。

但是,这些选项不适用于非 http 协议,例如netTcpBinding. 在这种情况下,您需要在 web.config 中定义一个端点地址(可能作为适当基地址的相对路径)。

于 2010-06-23T19:28:05.720 回答