我使用javascript库JQGrid来显示结果列表。我想尽我所能挤出最后一点的性能提升。我正在使用JQGrid url属性调用ASP.NET MVC ActionMethod。
在action方法中,我执行查询,然后加载一个具有3个int属性和1个集合属性的匿名对象:
public JsonResult GetDataRows(int dataId)
{
IEnumerable myDataCollection = linqDB.DataRows.Where(i => i == dataId);
var data = new
{
page = 1,
total = 1,
records = 3,
rows = myDataCollection.ToList();
};
return Json(data, JsonRequestBehavior.AllowGet);
}MVC Json方法是将这些数据序列化为javascript客户端脚本的最快方法吗?有没有更快的。
发布于 2013-12-04 19:12:26
我看了一下MVC框架,看起来JSON helper的背后是JavascriptSerializer。在做一些测试时,我达到了最大有效负载。
因为我们已经有了Newtonsoft JSON.NET库,所以我使用它的序列化程序添加了一个自定义ActionResult。只是用它来写浏览器,而不是用它来序列化任何JSON input...yet。下面是指向ActionResult重写的链接,以使用备用序列化程序。
Json.NET ActionResult
虽然这个序列化程序明显比标准序列化程序快,但微软WebAPI使用JSON.NET的事实让我认为未来的序列化程序证明了这一点。然而,根据我在网络上的搜索和阅读,听起来ServiceStack.Text序列化程序是最好的。它显然是从ProtoBuf-net串行化程序派生出来的。
https://stackoverflow.com/questions/19391663
复制相似问题