技术开发 频道

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

  目前我的项目大多数就是采用这样的模式。

  2)接着,如果使用jQuery的$.ajax调用并且最后JSON加载数据:

  代码

function bindDatajQueryAjaxJson() {

  var watch
= new Stopwatch();

  watch.start();

  $.ajax({

  url:
"JsonHandler.ashx",

  dataType:
'json',

  cache:
false,

  success:
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));

  }

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

  watch.stop();

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

  }

  });

  }

 

    通过JsonHandler.ashx的页面处理程序执行返回数据:

  代码

public void ProcessRequest (HttpContext context) {

  context.Response.ContentType
= "application/x-javascript";

  
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" });

  }

  StringBuilder builder
= new StringBuilder();

  
string data = "[";

  
for (int i = 0, length = list.Count; i < length; i++)

  {

  data
+= "{" + string.Format("'UserId':'{0}','UserName':'{1}', 'Email':'{2}'", list[i].UserId, list[i].UserName, list[i].Email) + "},";

  }

  data
= data.TrimEnd(',') + "]";

  context.Response.Write(data);

  }

 

  也是3000条用户数据,运行加载结果为:

  比WebService快了一些。

0
相关文章