2009-09-02 73 views
0

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

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

回答

3

从一个网络点,这时候你会使用负载平衡器。你有有某种地址可以找到提供服务的机器。这与用于定位Web服务器的URL的DNS部分或用于定位X服务器的变量并无不同。

负载均衡器可以让你用,然后可以传递到在后端许多实际的服务器中的一个单一的地址,假设,当然,这并不重要,其服务器业务的请求。

如果你更多谈论的WCF地址,这是一个终点,类似于TCP/IP端口。

它需要多个WCF服务之间的区别。您可以为您的特定结构提供多个端点,因此需要将它们分开。

通常最好是小于更强的适应性。

+0

感谢您的回复。我已经更新了我的问题,试图更清楚一点。我正在谈论服务端点地址,而不是客户端。为什么地址需要区分服务? IIS路由到特定的svc,指向实现服务的类。 – JontyMC 2009-09-02 16:35:11

1

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

0

为了让更广泛的客户访问不同于.Net平台的服务,必须有一个统一的方式告诉客户:“嘿,伙计,在这里,我是你正在寻找的确切服务。你可以找到我在这个位置(即地址),连接到我这么些协议(ieBinding),这是合同的我们的通信标识。” 因此,简而言之,终端有必要让客户知道可以找到服务的位置。

现在你的情况,你知道端点,因此你可以配置客户端。但对于那些不知道这一点的客户,必须要接近服务。端点是一种类似于客户服务的名片