ASMX Web 服务调用位于不同位置的自己的实例

ASMX Web service call its own instance located at different location

我在美国服务器上有一项服务说 http://myservice/ProfileManagerWS/ProfileMGRWS.asmx

当任何客户拨打电话时,我需要检查请求header 属性。如果 属性 说它是对加拿大实例的调用,则将调用重定向到 http://ca-myservice/ProfileManagerWS/ProfileMGRWS.asmx

以前的服务仅位于美国服务器,我们刚刚将服务托管到加拿大服务器。

我们不想对消费者进行任何代码更改 http://myservice/ProfileManagerWS/ProfileMGRWS.asmx

我应该为美国实例编写 HTTPModule 还是 soap 扩展?

还有,我是不是应该给美国实例加代理来调用加拿大实例?

首先,除非您的客户端应用程序具有接受重定向响应的功能,否则您将无法更改您的 Web 服务以获取该功能。

您可能想要做的是在您的 DNS 服务器上实施地理负载平衡。如果加拿大人请求 myservice 的 IP 地址,请给他们一个 IP 地址,该地址会转到您的加拿大服务器,该服务器也配置为接受 myservice 域的请求。