博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
页面分部分加载呈现收集(不断更新中)
阅读量:5880 次
发布时间:2019-06-19

本文共 1361 字,大约阅读时间需要 4 分钟。

前言           

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

目录             

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 
aspx file
aspx.cs文件:
public partial class FlushTest : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            Response.Write("
Response.Write before flush
"); Response.Flush(); Response.Write("
Response.Write after flush
"); } }

结果:

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

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


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

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: 会话状态已创建一个会话 ID,但由于响应已被应用程序刷新而无法保存它。

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

转载地址:http://rbjix.baihongyu.com/

你可能感兴趣的文章
设置tomcat远程debug
查看>>
android 电池(一):锂电池基本原理篇【转】
查看>>
Total Command 常用快捷键
查看>>
ionic 调用手机的打电话功能
查看>>
怎么使用阿里云直播服务应用到现在主流直播平台中
查看>>
Xcode全局替换内容,一键Replace
查看>>
1000 加密算法
查看>>
exif_imagetype() 函数在linux下的php中不存在
查看>>
Ruby的case语句
查看>>
Linux的链接文件-ln命令
查看>>
maven的tomcat插件如何进行debug调试
查看>>
table表头固定
查看>>
截取字符串中两个字符串中的字符串
查看>>
spring xml properties split with comma for list
查看>>
判断点是否在三角形内
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)...
查看>>
在odl中怎样实现rpc
查看>>
leetcode 110 Balanced Binary Tree
查看>>
python活用isdigit方法显示系统进程
查看>>
项目开发总结
查看>>