2015-04-22 75 views
0

我有一个网页在不同的复选框选项上有ajax调用。在后端调用Web方法时,会填充数据集并在调用时返回JSON字符串响应。 HttpException请求超时问题在我们的错误日志中被跟踪。此问题在本地不在本地服务器上重复。将近100000个用户访问此页面,这是该网站的主页。HttpException请求在Ajax调用上超时

我已经用executionTimeout在本地重复这个问题来设置5秒。但在现场,我无法理解哪个电话正在使Httprequest超时。

请建议如果有人有一些工作。

样本代码如下:

  1. GetASJSON() - 由jquery的
  2. LoadData()称为 - 称为GetASJSON()

/****

公共共享函数GetAsJSON()作为字符串 - 从jquery调用Ajax调用

Dim ds As DataSet = LoadData() 

    If TotalRecords = 0 Then 

     ds = LoadData() 
     Message = "NA" 
    End If 
    Dim _serializer = New JavaScriptSerializer()  
    Dim jSonRes As String = String.Empty 
    Try 
     Dim objects As List(Of Object) = New List(Of Object) 
     Dim i As Integer = 0 

     For Each row As DataRow In ds.Tables(0).Rows 
      objects.Add(New With {}) 
     Next       

     If (objects.Count.Equals(0)) Then 
      jSonRes = _serializer.Serialize(New With {._Status = "Error", ._Message = "No Arrangement Found"}) 
     Else 
      jSonRes = _serializer.Serialize(New With {._Status = "OK", ._Data = objects, ._Message = Message}) 
     End If 
    Return jSonRes 
End Function 

******/

私人共享功能LoadData()作为数据集

Dim ds As DataSet 
ds = ds = ManagerClass.GetByFilter(param1, param2, param3) 

Return ds 

End Function 
+0

您需要在应用程序中的关键点启用日志记录,并确定什么会降低系统的速度...... – deostroll

+0

请您在写入代码的位置生成异常。所以我们可以理解这一点。配置中的 –

回答

0

而不必对在现场服务器的请求超时值太多细节或知道潜在的问题是什么,你可以尝试把它添加到您的现场应用程序的web.config将设置请求超时(秒):

<configuration> 
    <system.web> 
     <httpRuntime executionTimeout="300" /> 
    </system.web> 
</configuration> 

此外,如果你正在运行IIS,你可以使用˚F请求跟踪。您可以将其设置为转储超过X时间的任何请求的跟踪。

+0

executionTimeout是服务器上的默认值。 –

+0

@SajidNadeem我更新了我的答案,提供了一些关于如何排除故障并找出潜在问题的想法。 –