WCF Web服务在双服务器群集上运行,具有负载均衡器,可解析Web服务地址

时间:2009-11-04 11:41:44

标签: c# visual-studio wcf load-balancing

为长篇大论的标题道歉,但寻找可能是常见问题的解决方案。

我们有一个带地址的负载均衡器,例如:www.myloadbalancer.com

以下是两个网络服务器

第一台服务器:webserver1.farm.com
第二台服务器:webserver2.farm.com

我们在两台服务器上部署了一个Web服务,但在尝试使用其他地方的W​​eb服务时发现了一些有趣的东西。

我们部署到:

  • webserver1.farm.com/service1.svc
  • webserver2.farm.com/service1.svc

由于无法在线直接访问Web服务器,因此您必须通过负载均衡器。

因此要使用的地址为www.myloadbalancer.com/service1.svc

然而,我们发现如果负载均衡器将您定向到服务器1,并且您检查了WSDL,则会看到服务名称和详细信息为webserver1.farm.com/service1.svc而不是www.myloadbalancer.com/service1.svc

如果您尝试使用www.myloadbalancer.com/service1.svc,例如在Visual Studio 2008中,则会收到webserver1.farm.com/service1.svc不存在的警告。

主要问题是,是否可以为Web服务提供别名。 换句话说,无论我们最终是在Web服务器1还是2上,都可以让服务将自己描述为www.myloadbalancer.com/service1.svc

1 个答案:

答案 0 :(得分:4)

WSDL文件是WSDL文件。编辑它以指向正确的URL。 (如果您不想,则不必使用自动生成的http://webserver1.farm.com/service1.svc?WSDL。)

相关问题