项目分析之:WebService,jQuery,原生对象几种前端加载数据的性能比较(1)
背景最近的项目遇到了一些性能瓶颈,本篇文章先不谈数据库方面的问题,仅拿前端加载一定量的数据来进行阐述,觉得目前方式比较耗时。前段时间也在做些系统优化,效果并不明显。现在是怀疑出在前端的一些ajax调用以及jQuery本身存在的一些性能问题上;于是,先试着做出些原型,进行各种形式下前端加载数据时的性能对比。
详细分析
1. 首先,创建一系列的实体类:
代码 ///
/// 用户信息
///
public class UserInfo
{
public int UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
public Class Class { get; set; }
public List UserRightList { get; set; }
}
///
/// 班级信息
///
public class Class
{
public int ClassId { get; set; }
public string ClassName { get; set; }
}
///
/// 用户权限信息
///
public class UserRight
{
public int RightId { get; set; }
public string RightName { get; set; }
}其中包括用户信息类、班级信息类、用户权限类。
2. 在Web.config配置一个appsettings节点
表示一次加载的数据量(用户信息数)为3000。
并且将compilation节点的dubug属性设置为false。
3. JSON加载数据测试
1)首先先测试 WebService客户端调用并且最后返回JSON加载数据:
代码 function bindDataWebServiceJson() {
var watch = new Stopwatch();
watch.start();
JsonService.GetUserList(
function(data) {
var builder = new Sys.StringBuilder();
for (var i = 0, length = data.length; i
页:
[1]