“超时已过”,应用程序在另一台计算机上使用 Web 服务

“超时已过”,应用程序在另一台计算机上使用 Web 服务

我在一台服务器上托管的 ASP.NET Web 应用程序尝试使用另一台服务器上托管的 Web 服务时遇到了问题。当我浏览到使用该 Web 服务的页面时,出现以下错误:

服务器无法处理请求。---> 超时已到。操作完成前已超时或服务器未响应。

这是 Web 应用程序尝试使用 Web 服务时的 IIS 日志条目。(我删除了所有特定于服务器的信息)

2010-12-08 21:19:57 POST /WebServices/MyWebService.asmx - 80 - HTTP/1.1 Mozilla/4.0+(兼容;+MSIE+6.0;+MS+Web+Services+Client+Protocol+2.0.50727.3615) - - 500 0 0 765 675 15015

当我们将 Web 服务移至与 Web 应用程序相同的服务器时,即使 Web 服务托管在不同的域下,它也会按预期工作。我还可以使用 Internet Explorer 浏览另一台服务器上的 Web 服务,没有任何问题。

Web 应用程序和 Web 服务均使用 .NET 3.5 框架,并托管在 Windows Server 2003 SP2 上的 IIS 6.0 中。

如果有人遇到过这个问题,您是如何解决的?

答案1

这可能是配置问题。您可能会很幸运地在与 Web 服务相同的目录中找到一个 .config 文件,该文件可能有一个指向 localhost 的连接字符串。

如果您确实找到了 .config 文件,请查找该<connectionStrings>节点。

答案2

这是实际的超时问题还是配置问题?如果在本地机器上加载速度非常快,那么可能是配置问题。其他服务器的速度是否比实际超时速度慢?

您是否确定另一台服务器上的 Web 服务正常运行?

尝试使用 Web 浏览器从 Web 服务器本身至少测试 Web 服务的 URL。这将确认 DNS 和网络连接,以及您是否可以通过防火墙从一台服务器访问另一台服务器。

相关内容