“超時已過期”,應用程序在另一台機器上使用 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 中。
如果有人遇到過這個問題,你是如何解決的。
很可能是配置問題。您可能會很幸運並在與 Web 服務相同的目錄中找到一個 .config 文件,該文件可能有一個很可能指向 localhost 的連接字元串。
如果您確實找到了 .config 文件,請查找該
<connectionStrings>
節點。
這是實際的超時問題還是配置問題?如果它在本地機器上傳入得非常快,那麼它可能是一個配置問題。其他伺服器是否有可能比它真正的超時慢?
您確定另一台伺服器上的 Web 服務工作正常嗎?
嘗試至少使用 Web 瀏覽器從 Web 伺服器本身測試 Web 服務的 URL。這將確認 DNS 和網路連接,並且您可以通過防火牆從一台伺服器訪問另一台伺服器。