当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET:设置页面buffer引出来的问题

ASP.NET
运行时修改Web.config中的元素值
优秀的Architect之路(入门)
提问的智慧(HowToAskQuestionsTheSmartWay)
C#数据结构篇(3队列类)
现在就可下载WTL7.0和.NETSP1
在.NET中开发组件
使用.NET远程处理访问其他应用程序域中的对象
使用ADO.NET访问数据库
承载.NET公共语言运行库
在.NET运行时了解类型信息(2)
在.NET运行时了解类型信息(3)
智能客户端(SmartClient)
获取数据库表结构
Visual Studio 2005 分包下载
为DataGrid中的行增加序号
关于HttpContext的Items属性
[推荐].NET XML Best Practices - Choosing an XML API
在 XML Schema和WSDL中使用名称空间
在论坛里为什么不能发问题
AspectSharp例子分析

ASP.NET:设置页面buffer引出来的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 145 ::
收藏到网摘: n/a

前几天,在程序使用Respoonse.Redirect("a.aspx?f=9#12")的时候,发现在IE里面,跳转之后的页面忽略了#之后的内容,奇怪的是在同一页面向自己Redirect的时候,这个问题就不会存在,百思不得其解,有病乱投医吧,上网狂搜了一把,有人说设置页面Buffer为false可能解决这个问题,于是将a页面的buffer设置了false,经过验证,这个与上述问题不相干,但是一时疏忽,忘记了没有将buffer修改过来,昨天项目发布,放到服务器上发祥a页面的执行时间大的惊人,页面内容稍微大一点,页面往往会超时,而实现同一功能的b页面执行时间基本为0-16,而a页面数据库查询次数为3,b页面为7,这就更让人纳闷了,在本地试了下,b页面基本上和服务器没什么区别,a页面在90-300ms之间,而明显的b页面要表现的数据和查询的次数都要比a多,两者从页面结构上来说,基本一样,因为二者共同使用了相同的UserControl,只有中间部分表现形式稍微不同而已,同在一个屋檐下的人,差距怎么这么大呢?纳闷之余,一个个删除页面元素,发现根本不起本质作用,b页面就是出奇的快,a页面跟中风一样,慢的可以,于是找亚找,基本说是将a改了个遍,就差说闹鬼了得时候,突然发现a页面的buffer设置了false,而b赫然是true, 豁然开朗,铁钉就是这里问题,马上更正过来,good!a页面马上快了起来。

一次不小心,造成如此的麻烦,不过总结了一下规律,在buffer设置为false得时候,与设置true,页面在处理时间上基本相差10-20倍的关系,如果以后发现同样功能的页面,速度相差不少,排除了数据处理等因素,应该考虑一下是否存在上述问题。