我有一个包含一些 ASMX Web 服务的 ASP.NET WebApp。我们最近从 Windows 2003 服务器迁移到负载平衡的 Windows 2008 服务器。新服务器位于一些 F5 设备后面以进行负载平衡(这就是我所知道的一切!)。
我们可以访问内置的 ASP.NET POST 测试(例如:http ://webapp.company.com/webservices/Person.asmx?op= GetPerson),但从该测试页面调用它失败(页面不可用)。在浏览器中打开一个新选项卡,带有相同的 url,但在末尾附加了一个端口号:http ://webapp.company.com:50831/webservices/Person.asmx?op=GetPerson 。当我将该 URL(带端口)放入浏览器时,它也失败了。哎呀,http ://webapp.company.com:50831根本无法访问。
我们在以前的服务器上没有做到这一点。我在个人 Windows 2012 服务器上设置了我自己的个人网络服务器,并在那里测试了相同的代码,它工作正常。所以我认为这与负载平衡有关。
不幸的是,我无法控制我们公司提供的用于托管内部应用程序的 Web 服务器。我也没有接触 IIS。我得到的只是一个将我的文件发布到的文件路径。托管组织告诉我我的 ASP.NET WebApp 代码附加了端口号,但我认为这不对。它只发生在那些负载平衡的服务器上!
在调用托管在 F5 设备后面的 ASMX 或 WCF 之前,是否有其他人遇到过这种情况?