2015-04-22 106 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我更新了我的答案,提供了一些關於如何排除故障並找出潛在問題的想法。 –