WAS托管的WCF服务中单个合同的多个端点?

时间:2010-06-23 18:43:48

标签: wcf was endpoints

如果需要在异构环境中为单个合同公开多个端点(例如,一个使用basicHttpBinding,另一个使用netTcpBinding),则在WAS托管的服务上,如何实现?

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

但是,在没有说明地址的情况下,似乎无法为同一合同定义HTTP端点和TCP端点。到目前为止,我的每一次尝试都让我梦寐以求的“一个绑定的实例已经与听uri相关”的错误。

想法?

由于

2 个答案:

答案 0 :(得分:1)

看看这是否适合您 http://knowledgebaseworld.blogspot.com/2010/06/domain-name-replaced-with-machine-name.html 我有同样的问题“一个绑定实例已经关联听uri”,通过添加http Get Url和绑定地址得到解决

答案 1 :(得分:0)

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

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

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