为什么需要为WCF服务指定端点地址?

时间:2009-09-02 10:22:55

标签: wcf

我正在使用IIS7来托管WCF服务,因此对服务端点地址的请求将被转发到正确的svc文件。显然,客户端配置必须指定它希望使用的服务的端点地址,但为什么我需要在服务配置中指定服务的端点地址(如果不这样做,则抛出异常)?

这是一个烦恼,因为我希望在Web场中的多台计算机上运行相同的服务。

3 个答案:

答案 0 :(得分:3)

从网络的角度来看,那就是你使用负载均衡器的时候。您拥有以获得某种地址,以便能够找到提供服务的机器。它与用于查找Web服务器的URL的DNS部分或用于查找X服务器的DISPLAY变量没有区别。

负载均衡器允许您使用一个地址,然后可以将其传递到后端的许多实际服务器之一,当然假设哪个服务器为请求提供服务并不重要。

如果您更多地谈论WCF地址,那就是端点,类似于TCP / IP中的端口。

需要区分多个WCF服务。您可以为特定的arcitecture提供多个端点,因此需要有一种方法将它们分开。

通常比较少适应性更好。

答案 1 :(得分:1)

我确实有同样的担忧。如果我知道要使用的端点的地址,为什么我需要在端点中明确指定该地址。最近我创建了一个webHttpBinding端点而没有指定地址,我能够成功访问合同。这项服务是asp.net开发服务器的一部分。在IIS下托管时需要的地址吗?或者地址是否需要任何其他绑定,如wsHttpBinding,TCPBinding等?

答案 2 :(得分:0)

为了让更广泛的客户能够访问.Net以外的平台上的服务,必须有统一的方式告诉客户,“嘿伙计,这里我是您正在寻找的确切服务。您可以找到我在位置(即地址),使用这些协议(ieBinding)连接到我,这是合同我们签署通讯。“ 简而言之,端点是必要的,让客户知道可以找到服务的位置。

现在,在您的情况下,您知道端点,因此您可以配置客户端。但对于那些不了解这一点的客户,必须要接近服务。端点就像给客户的服务名片