2013-07-02 85 views
2

我的MVC 4網站使用jQuery Ajax來更新我網站的部分,我的網站主要用於修改底層SQL數據庫中的信息。我的問題是,即使在本地運行服務器,服務器也不會返回PartialView。MVC網站隨機不返回PartialView

我在Windows 8上使用Visual Studio 2012,並在Azure平臺上運行服務器。

我應該改寫關於服務器沒有返回它的部分,因爲在19秒後,客戶端重試獲取數據,並且它通常成功,但它返回兩次(只呈現一次),並且每個返回都包含相同的數據(因爲它應該)。雖然該網站仍然有效,但延遲19秒是問題所在。

  • /Trace.axd沒有發現任何問題,超過19秒的等待 和狀態碼200
  • 數據庫連接是否正常,服務器達到 結束其他的代碼在那裏將PartialView返回給渲染器。
  • 嘗試通過瀏覽器中的鏈接 直接調用部分視圖會發生同樣的問題。
  • 它平均每20次調用一次(至少在我在本地測試它時 )。
  • Chrome開發者工具顯示它獲取13個字節的數據(我認爲它是頭),然後等待19秒,最終接收完全數據兩次。

我的想法是,無論是我的配置,或與返回PartialViews的基本問題,雖然大多數時候該網站運行的很好。

如果我可以得到關於調試這個錯誤的下一步的一些線索,或者對這個問題有一個很好的理論,那會很好。

最善良的問候

邁克爾(D3vinno)從控制器

public ActionResult _List_Product() { 
    Database db = new Database(Session["database"] as string); 
    db.Connect(); 
    DataTable dataTable = null; 
    using (SqlCommand command = db.GetSqlConnection().CreateCommand()) { 
    command.CommandText = string.Format("SELECT [product].[id], [product].[title] FROM [product]"); 
    SqlDataReader sdr = command.ExecuteReader(); 

    dataTable = new DataTable { TableName = "product" }; 
    if (sdr != null) { 
     dataTable.Load(sdr); 
    } 
    } 
    db.Close(); 
    return PartialView(dataTable); 
    } 

而且例如圖

@model System.Data.DataTable 
@{ 
    string type = "_Product"; 
} 

<p> 
    <button class="btn span8" onclick="SetContent('@type', 'new')">New</button> 
</p> 

<table class="table row-fluid table-condensed" data-provides="rowlink"> 

@foreach (System.Data.DataRow item in Model.Rows) { 
    <tr id="[email protected]["id"]"> 
     <td id="[email protected]["id"]"> 
      <b> @item["title"] </b> 
     </td> 
     <td> 
      <button class="btn pull-right" onclick="SetContent('@type',@item["id"])">Edit</button> 
     </td> 
    </tr> 
} 

</table> 

回答

0

犯規

實施例的代碼看起來像與局部視圖的任何問題。如果您對此有疑問,請發送一些靜態數據而不是點擊數據庫。

最佳選擇是在查詢中選擇前3行並查找輸出。

我想這會給解決方案的一些方向!