2013-07-02 52 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行并查找输出。

我想这会给解决方案的一些方向!