首页 新闻 赞助 找找看

为什么要通过ashx去创建JSON?

0
悬赏园豆:50 [已解决问题] 解决于 2010-08-06 13:03

首先,声明我只是大概了解了JSON的作用,对ashx很陌生。

今天看见一个源码项目里面的联动大致做法是,把所有页面用到的DB数据read到前台,用JSON的形式保存,通过AJAX实现联动。我觉得这种做法完全颠覆了我一贯的前台操作响应后台读写数据,这种低效率的方式。而我没仔细研究他的ashx,通过了解了JSON是什么后,我想,原理是把所有用到的数据预先拿出来,封装成不同的JSON对象,再根据需要返回给页面去数据展示。那么为什么不直接再后台页面处理这个load all data page need的操作呢?我知道ashx肯定有什么作用,我这个想法也肯定是不合适,所以在这里咨询一下各位。

bugfly的主页 bugfly | 初学一级 | 园豆:10
提问于:2010-08-06 11:56
< >
分享
最佳答案
0

ashx 跟 (页面)aspx、(Web 服务)asmx  一样,都实现了 IHttpHandler,也就是说他们都能够处理 用户的请求;ASPX 经过一系列动作(验证请求、模块处理、页面生命周期等)最后 返回的个页面。ashx 同样能够处理请求,不同的是;他不必做一系列动作、不用经过一连串的事件处理、一大堆的控件状态管理(加载并解析ViewState,还原、更新控件的值、保存ViewState等),直接返回操作结果,也就不用耗费更多的服务器资源了;返回的格式可以灵活处理。一般来说,获取、处理动态生成的图片,像验证码AJAX 动态获取数据等问题都可以并且最好是用 ashx 来处理。

收获园豆:20
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-08-06 12:51
其他回答(5)
0

为什么用ashx?

其实这个也不是一定要用ashx的

用其它的都行,只要能输出数据.

比如说aspx,为什么不用aspx呢?

aspx在这方面比ashx相比,性能就稍微差点.

而且aspx页面在生成的时候可以看到有很多多余的html代码

json输出后,不能有其它代码的.

收获园豆:10
graymaster | 园豆:7 (初学一级) | 2010-08-06 12:17
兄弟意思是不是,能够更让人专注后台处理不用管前台?我的理解是分工很明显了。
支持(0) 反对(0) bugfly | 园豆:10 (初学一级) | 2010-08-06 12:25
0

如果有100个页面要获取同一个信息,你是否需要100个页面后台?

ashx可以看作没有UI的page页,只处理纯粹的数据,处理完后以一种松耦合的方式如xml或json输出到前台需要的页aspx,仅需jquery、extjs等js框架就可以实现数据呈现,最大的好处就是在不同的页aspx中重用。

收获园豆:15
邀月 | 园豆:25475 (高人七级) | 2010-08-06 12:24
听兄一席话,廓然开朗。
支持(0) 反对(0) bugfly | 园豆:10 (初学一级) | 2010-08-06 12:26
0

ashx轻量

钧梓昊逑 | 园豆:945 (小虾三级) | 2010-08-06 12:28
0

其实我觉得这里不是ashx的问题,是思路的问题,你看的源代码的思路是使用ajax技术来进行按需获取数据,而你的思路还是页面发起请求,页面去查询数据库,获得结果显示到客户端。这两两种不同的思想模式,所以我个人认为你这里要明白他为什么要用ashx,那就要搞明白他这里使用ajax技术的原因,明白这个原因后在考虑ashx页面。

说到ashx其实这个你完全可以用aspx页面来代替,不过记得使用aspx页面时记得保留最顶部代码,然后把html标签代码全部去掉...

ashx的相关介绍,可参考文章http://www.cnblogs.com/lin614/archive/2008/01/18/1044734.html

收获园豆:5
西越泽 | 园豆:10775 (专家六级) | 2010-08-06 12:41
0

ashx负责处理数据。完了之后,保存为json格式,在aspx页面中实现联动。就类似百度、谷歌的搜索控件的效果一样。。。

JangoCheng | 园豆:207 (菜鸟二级) | 2012-01-11 11:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册