我有一个 .NET 4.0 集成模式的 Web 应用程序,通过 localhost 在同一台服务器上以 .NET 2.0 集成模式调用 Web 服务 (ASMX)。
10 次中有 9 次都可以正常工作,但有时 Web 应用程序会在调用期间出现“请求超时”和“线程被中止”错误。它在此代码示例的最后一行给出了错误:
Dim Service As New localhost.Service
Dim Input As New localhost.InputProduct
Dim Ret As New localhost.OutputProduct
Try
Ret = Service.RequestProduct(Input)
Catch
Finally
Service.Dispose()
If Ret.succesfull = True Then
If Response.IsClientConnected = True Then
Response.Redirect("success.aspx", False)
End If
End If
End Try
在 Web 服务的日志文件中,我得到一个 sc-win32-status: 995 和一个 sc-status: 200,通常花费的时间总是多于 60 秒(花费时间:62743)。通常这需要 14 秒才能完成而不会出现错误。
调用是在单击按钮后在 ASPX 页面后面的代码中进行的。页面上有一个更新面板,按钮用作 PostBackTrigger。
问题:为什么在 Web 服务调用后会出现这些“请求超时”错误?
服务器:
- 视窗服务器 2008 R2 SP1
- IIS 7.5
- 微软网址扫描 3.1
- Windows 防火墙