页面分部分加载呈现收集(不断更新中)

简介:

前言                                   

  因项目首页内容多,每次点击都会有一段画面空白的时间,使用感不好,于是找找看有没有好方法。这里就把收集到的方法记录下来,供以后查阅。本篇只有开始没有结束,会不断地添加内容。^_^

 

目录                                   

1.使用Response.Flush(),有多少输出多少;

 

1.使用Response.Flush(),有多少输出多少                 

  默认情况下Asp.net页面是启动了Response的输出缓存,那么全部输出的内容都先存储在输出缓存中,当服务器对请求处理完后再把输出缓存的内容一次性向客户端发送。如果禁用输出缓存,那么响应流中的数据会马上传送到客户端,通过Respose.Buffer=false来设定,但禁用输出缓存会引起性能上的问题。如果想分部分发送响应内容和控制输出缓存内容的具体发送时刻,可以在启用response输出缓存下调用Response.Flush(),该方法就是把当前输出缓存中的内容向客户端发送。

  针对asp.net要注意一点,除非使用了Response.Write()和Response.WriteLine()等直接把内容写到响应流中外,在Render事件之前的任何操作内容都还没写到Response中。也就是说aspx页面上的html等,和aspx.cs文件中添加到控件树的内容在Render事件之前还没写入Response中。下面是验证的例子:

aspx文件:

1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FlushTest.aspx.cs" Inherits="Client.FlushTest" %>
2 <div style="color:Yellow">aspx file</div>

aspx.cs文件:

复制代码
1  public partial class FlushTest : System.Web.UI.Page
2 {
3 protected void Page_Load(object sender, EventArgs e)
4 {
5 Response.Write("<div style='color:red'>Response.Write before flush</div>");
6 Response.Flush();
7 Response.Write("<div style='color:blue'>Response.Write after flush</div>");
8 }
9 }
复制代码

结果:

所以对于Asp.net来说这招不太使用。加上使用该方法和把页面缓存buffer设为false都会出现

“/”应用程序中的服务器错误。


会话状态已创建一个会话 ID,但由于响应已被应用程序刷新而无法保存它。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 会话状态已创建一个会话 ID,但由于响应已被应用程序刷新而无法保存它。

 的问题,解决方法是加一个Global.asax文件就ok了。具体为什么我还没找到答案。。。。。

  

如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!


本文转自^_^肥仔John博客园博客,原文链接:http://www.cnblogs.com/fsjohnhuang/archive/2012/02/10/2345204.html,如需转载请自行联系原作者

相关文章
|
前端开发 JavaScript UED
前端性能的性能指标之首次内容绘制(FCP)
首次内容绘制(First Content Paint)是前端性能的一个重要指标,因为它是用户体验的一部分,并且对于网页的响应速度和可接受性有很大的影响。
393 0
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
文本,学习方法,必须做,快的学习方法,统计汇总写法,比如你要构思一个数学库,需要写一个汇总,主动获取标题统计,主动生成文章跳转链接,然后将它打入文章资料当中:
文本,学习方法,必须做,快的学习方法,统计汇总写法,比如你要构思一个数学库,需要写一个汇总,主动获取标题统计,主动生成文章跳转链接,然后将它打入文章资料当中:
|
SQL Java 关系型数据库
从系统报表页面导出20w条数据到本地只用了4秒,我是如何做到的
最近有个学弟找到我,跟我描述了以下场景: 他们公司内部管理系统上有很多报表,报表数据都有分页显示,浏览的时候速度还可以。但是每个报表在导出时间窗口稍微大一点的数据时,就异常缓慢,有时候多人一起导出时还会出现堆溢出。 他知道是因为数据全部加载到jvm内存导致的堆溢出。所以只能对时间窗口做了限制。以避免因导出过数据过大而引起的堆溢出。最终拍脑袋定下个限制为:导出的数据时间窗口不能超过1个月。
|
前端开发 JavaScript 数据可视化
数据可视化大屏人员停留系统的开发实录(默认加载条件筛选、单击加载、自动刷新加载、异步加载数据)
数据可视化大屏人员停留系统的开发实录(默认加载条件筛选、单击加载、自动刷新加载、异步加载数据)
137 0
|
前端开发 NoSQL Redis
案例05-将不必要的逻辑放到前端(发送调查问卷)
案例05-将不必要的逻辑放到前端(发送调查问卷)
|
前端开发
|
前端开发
前端工作小结68-页面数据不显示
前端工作小结68-页面数据不显示
96 0
前端工作小结68-页面数据不显示
|
存储 Java Scala
网站用户行为分析项目之会话切割(一)(中)
网站用户行为分析项目之会话切割(一)(中)
213 0
网站用户行为分析项目之会话切割(一)(中)
|
存储 机器学习/深度学习 算法
网站用户行为分析项目之会话切割(一)(上)
网站用户行为分析项目之会话切割(一)(上)
171 0
网站用户行为分析项目之会话切割(一)(上)