我有一个场景,我需要任意数量的服务器来提供相同的 SOAP Web 服务。我想生成一组代理类,并能够为它们提供一个位置,以便在运行时将它们指向不同的服务器。不幸的是,看起来 wsdl:port
节点(wsdl:service
的子节点)需要对特定服务器的地址进行硬编码。看来,由于这个原因,URL 将被烘焙到我的代理类中。我知道我可以通过手动编辑生成的代理类或修改代码生成来修改它,但我真的不想诉诸于此。我觉得必须有更好的方法来解决这个问题。我只想将接口(interface)定义与服务所在的位置分离。我正在使用 VS2008 和 C#.NET(如果这有任何帮助),但最好是针对此问题的与语言无关(特定于 SOAP 或 WSDL)的通用解决方案。
最佳答案
为什么不对网络服务器进行负载平衡,然后为负载平衡的 IP 地址创建一个 DNS 条目......本质上是创建一个网络场。这将允许您引用主机名而不是静态 IP 地址,并且如果您需要更改负载均衡器或 Web 服务器的 IP 地址,则这是一次性更改。另外,您还可以拥有冗余和性能控制。
关于c# - SOAP Web服务: many servers, 一个接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/360831/