2012-10-23 144 views
2

我在.NET 4.0中有一个Web应用程序集成模式调用.NET 2.0集成模式中的Web服务(ASMX)服务器通过本地主机。IIS 7.5在Web服务(ASMX)请求上60秒后引发sc-win32-status:995

9/10的所有工作都很好,但有时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的状态:995和SC-状态:200,通常时间采取总是超过60秒(时间:62743)。通常这需要14秒才能完成,而不会出错。

在单击按钮后,在ASPX页面后面的代码中进行调用。 在页面上有一个UpdatePanel,该按钮用作PostBackTrigger。

问:为什么在Web服务调用后出现这些“请求超时”错误?

服务器:

  • 的Windows Server 2008 R2 SP1
  • IIS 7.5
  • 微软的UrlScan 3.1
  • Windows防火墙
+0

你的问题是什么? – ChrisBint

+0

我添加了这个问题,更加精确。我在IIS中尝试了很多不同的设置,但似乎没有任何工作。我希望能够找到解决方案的位置。 – Cerveser

回答

2

我终于找到了这个问题的答案。它原来是这段代码在web.config:

<pages smartNavigation="true"> 

关闭这个功能我没有收到任何超时错误了之后。 的原因超时也许在于SmartNavigation的设置在IE浏览器生成(未在Firefox /铬)的IFRAME

我已经在使用该设置.NET 2.0至eliminating the flash caused by navigation,升级到.NET 4.0的视觉后Studio没有提供任何线索表示此设置已被弃用。

我找到了答案,因为我还有其他问题要处理。采用最新ajaxToolkit用于.NET 4.0后,我在IE7/8有这个JavaScript警告错误在使用AutoCompleteExtender:

堆栈溢出的行:0

这竟然是有关smartNavigation设置。因此,删除此设置一次解决了两个问题。希望我能帮助这个人,因为对我而言,这是我在互联网短短的历史中发现的最令人讨厌的错误之一。

0

考虑更改的httpRuntime executionTimeout = “XXX” 标签位于machine.config为您的Web服务器。对于您的情况,默认值可能会缩短两次。以秒为单位表示的值可以将其加倍。

+0

谢谢,但我已经改变了我的web.config中的值。通话大约需要15秒。去完成。该请求在15秒内成功。只有我得到了一个sc-win32-status:995错误后的时间。 – Cerveser