MVC站点随机不返回PartialView

时间:2013-07-02 12:59:52

标签: asp.net-mvc-4 azure partial-views connection-timeout

我的MVC 4网站使用jQuery Ajax更新我网站的部分内容,而我的网站主要用于修改底层SQL数据库中的信息。我的问题是,即使在本地运行服务器,服务器也不会随机返回PartialView。

我在Windows 8上使用Visual Studio 2012,并在Azure平台上运行服务器。

我应该重新说明服务器没有返回它的部分,因为在19秒后,客户端重试获取数据,它通常成功,但它返回两次(只渲染一次),并且每个返回都保持相同数据(应该如此)。虽然该网站仍然有效,但延迟时间是19秒。

    除了19秒等待之外,
  • /Trace.axd没有发现任何问题 和状态代码200。
  • 数据库连接运行良好,服务器到达终点 它将PartialView返回给渲染器的代码。
  • 尝试通过链接直接调用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="show-@item["id"]">
        <td id="search-@item["id"]">
            <b> @item["title"] </b>
        </td>
        <td>
            <button class="btn pull-right" onclick="SetContent('@type',@item["id"])">Edit</button>
        </td>
    </tr>
}

</table>

1 个答案:

答案 0 :(得分:0)

看起来不像部分视图的任何问题。如果您对此有疑问,请发送一些静态数据,而不是点击数据库。

最佳选择是在查询中选择前3行并查找输出。

我想这会为解决方案提供一些方向!