用 Fiddler 看看 UpdatePanel 发生了什么

作者:vkvi 来源:千一网络(原创) 日期:2007-8-21

第一个 ASP.NET AJAX 程序:UpdatePanel一文中介绍了 UpdatePanel 实现 Ajax,我们今天利用 Fiddler 来看看 UpdatePanel 发生了什么。

实验步骤

启动 Fiddler,访问我们事先写好的 UpdatePanel 网页(注意不要用 127.0.0.1 或 localhost)。

依次点击 btnIn、btnInToOut、btnOut、btnOutToIn 这四个按钮。

结果观察

在 Fiddler 中,我们可以得到五个会话,第一个是打开网页时产生的,后面四个是点击按钮时产生的。

  • 我们在会话列表中可以看到第二、三个会话的图标是文本文件,同时拉宽列表,可以看到 Content-Type 为 text/plain,Body 只有几百字节。
  • 而第四、五个会话的图标是网页,同时拉宽列表,可以看到 Content-Type 为 text/html,Body 有几千字节。

这说明在 UpdatePanel 中的按钮,的确降低了网络的通信量,不过虽然 btnInToOut 没有效果,但仍然进行了通信。

我们选中第四个会话,然后切换到 Session Inspector 标签,在下面的工作栏中单击“TextView”,可以得到类似如下的数据:

UpdatePanel之内控件的数据流

我们选中第三个会话,然后切换到 Session Inspector 标签,在下面的工作栏中单击“TextView”,可以得到类似如下的数据:

UpdatePanel之外控件的数据流

观察小结

由此看出 UpdatePanel 之内的控件产生的事件不是传送的整个网页,而 UpdatePanel 之外的控件产生的事件传送的是整个网页。

更进一步

我们发现,在点击 btnIn、btnInToOut 时,我们获得的真正有用的数据只有很短的一个字符串,那为什么还有几百字节的传输量呢?通过 Fiddler 我们发现服务器端发送回来的数据不仅包括了我们需要的数据,还包括了整个 UpdatePanel 内部的数据,这的确是一件危险的事情,如果我们的 UpdatePanel 很大,那么 UpdatePanel 的确应该慎用。

你前面那位网友看了:PHP、ASP、JSP、.NET 哪个在搜索引擎中最多?

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他