Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC在Ajax请求上的应用程序,带有大数据源的剑道图?_C#_Asp.net_Json_Ajax_Kendo Ui - Fatal编程技术网

C# ASP.NET MVC在Ajax请求上的应用程序,带有大数据源的剑道图?

C# ASP.NET MVC在Ajax请求上的应用程序,带有大数据源的剑道图?,c#,asp.net,json,ajax,kendo-ui,C#,Asp.net,Json,Ajax,Kendo Ui,我正在使用ASP.NETMVC的剑道UI图表,并向其提供数据传输对象列表,以通过Ajax请求填充数据。然而,问题在于名单的大小。我在这个列表中有大约3900个dto(从文件中解析),每个dto中有9个对象: public DateTime Time { get; set; } public int BeatsPerMinute { get; set; } public double Speed { get; set; } public int Cadence { get; set; }

我正在使用ASP.NETMVC的剑道UI图表,并向其提供数据传输对象列表,以通过Ajax请求填充数据。然而,问题在于名单的大小。我在这个列表中有大约3900个dto(从文件中解析),每个dto中有9个对象:

public DateTime Time { get; set; }

public int BeatsPerMinute { get; set; }

public double Speed { get; set; }

public int Cadence { get; set; }

public double? Altitude { get; set; }

public int Power { get; set; }

public int? PowerBalance { get; set; }

public double Distance { get; set; }
我需要每个dto中的所有项目,但是当我发送Ajax请求时,我的浏览器超时。我已经将我的web.config jsonSerialization maxJsonLength设置为50000000,但是这不起作用


对此,建议采用什么方法?

如果使用asp.net mvc 3.0,它会忽略web.config中的maxJsonLength。在控制器中使用:

return new JsonResult { Data = Result, MaxJsonLength = Int32.MaxValue };

所以事实证明,问题不是由我的服务或json引起的,因为当我仔细阅读代码时,一切都很好。当我填充剑道UI图表时,我试图在页面上同时呈现23400个DOM元素。通过禁用dto中每个项目的绘图(不包括功率平衡)并仅显示行,我保存了19500个DOM元素的加载

series.Line(a => a.BeatsPerMinute).Markers(c => c.Visible(false));
series.Line(a => a.Altitude).Markers(c => c.Visible(false));
series.Line(a => a.Cadence).Markers(c => c.Visible(false));
series.Line(a => a.Power).Markers(c => c.Visible(false));
series.Line(a => a.Speed).Markers(c => c.Visible(false));
然后是约会时间。列表中有3900个DTO,这意味着我在图表中呈现了3900个日期时间值。通过提供30步(在我的例子中,30秒,因为每个DateTime值相隔一秒),我保存了几乎所有剩余的3900个加载对象

.CategoryAxis(axis => axis
.Categories(a => a.Time)
.Labels(l => l.Rotation(-90)
.Step(30))

谢谢设置MaxJsonLength似乎没有帮助。我的页面仍然没有响应。如果json长度出现问题,您将看到一条错误消息。控制器操作中似乎没有超时。尝试设置断点作为回报。计算结果需要多长时间?