技术开发 频道

项目分析:原生对象前端加载数据性能PK

  其中包括用户信息类、班级信息类、用户权限类。

  2. 在Web.config配置一个appsettings节点

<appSettings>
    
<add key="DataCount" value="3000"/>
</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 < length; i++) {

  builder.append(
String.format("

UserId:{
0}, UserName:{1}, Email:{2}
", data[i].UserId, data[i].UserName, data[i].Email));


  }

  $(
"#msg2").html(builder.toString());

  watch.stop();

  $(
"#time2").html("用时:" + watch.ms + "毫秒.");

  });

  }

  通过代码,我们可以看到它调用了JsonService.asmx中Web服务的GetUserList方法:

  代码

[WebMethod]

  
public List GetUserList()

  {

  
int count = Convert.ToInt32(ConfigurationManager.AppSettings["DataCount"]);

  List list
= new List();

  
for (int i = 0; i < count; i++)

  {

  list.Add(
new UserInfo { UserId = i, UserName = "leepy" + i, Email = "sunleepy" + i + "@gmail.com" });

  }

  return list;

  }

    返回了一个3000条记录的UserInfo实体列表,而前端页面通过对列表返回客户端时的Json对象,进行Html字符串拼接,最后通过jQuery的Dom元素html(‘…’)方法赋值。运行加载结果为:

0
相关文章