仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 821|回复: 8
打印 上一主题 下一主题

[学习教程] NET网页编程之使用ASP.NET中Response.BufferOutput完成异步显现

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 14:23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
也许C#刚上市的时候有些抄袭Java吧,但自从C#2.0上市之后,整个局面就扭转乾坤了,不但Java在模仿C#,而且他从来都没能跟得上C#的脚步。我们先懂得一下BufferOutput属性:
BufferOutput属性用于猎取或设置一个值,该值唆使是不是缓冲输入并在处置完全个页以后发送它。默许值是true,因而我们默许情形下我们的.Net都是全体缓冲完了才在扫瞄器上显现出来。如许就有大概在我们的页面实行工夫很长的情形下页面会一向处于空缺形态,让用户觉得我们的页面打不开了而关失落扫瞄器。这时候候我们可让页面实行一部分就显现一部分,好让用户晓得我们的页面实行到那一步了。

办理计划一:
BufferOutput默许值为true,我们不改动这个设置值,使用Response.Flush办法和Clear办法将以后缓冲区的信息输入。这个办法对照广泛,也不会很影响功能,当页面在处置一个庞大的程序的时分,能够立即输入一些提醒信息。

注释一下用到的两个办法:
Response.Flush()当即输入缓冲区的数据
Response.Clear()清空缓冲区的数据

示例:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
ShowMessage("你",150);
Response.Flush();
Response.Clear();
Thread.Sleep(1000);

ShowMessage("好",150);
Response.Flush();
Response.Clear();
Thread.Sleep(1000);
}
}

privatevoidShowMessage(strings,intcount)
{
StringBuilderstr=newStringBuilder();
for(inti=0;i<count;i++)
{
str.Append(s);
}
Response.Write(str.ToString());
}


办理计划一:
把BufferOutput值设为false,这时候间服务器实行一行就发送一行数据到客户端,也就是立即显现信息。但注重,如许会很影响功能,由于如许,数据就没有在服务器缓存了。

示例:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
Response.BufferOutput=false;
ShowMessage("你",150);
Thread.Sleep(1000);

ShowMessage("好",150);
Thread.Sleep(1000);
}
}

privatevoidShowMessage(strings,intcount)
{
StringBuilderstr=newStringBuilder();
for(inti=0;i<count;i++)
{
str.Append(s);
}
Response.Write(str.ToString());
}


注重:
1,即便设置了BufferOutput值设为false,也要在缓冲区数据很多于256字节的情形下才会输入到客户端,经测试FF扫瞄器没有这个成绩。
2,UFT8编码的汉字一样平常占三个字节(Unicode编码是两个字节),以是我们在上例中轮回输入150个字符,而不是50个,由于50个就有大概看不到效果。兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-18 13:47:20 | 只看该作者
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
飘灵儿 该用户已被删除
板凳
发表于 2015-1-24 11:27:34 | 只看该作者
Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!
地板
 楼主| 发表于 2015-2-1 09:49:49 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
海妖 该用户已被删除
5#
发表于 2015-2-7 03:06:32 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
变相怪杰 该用户已被删除
6#
发表于 2015-2-20 08:15:35 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
admin 该用户已被删除
7#
发表于 2015-3-6 17:16:22 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
小魔女 该用户已被删除
8#
发表于 2015-3-13 05:09:54 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
再现理想 该用户已被删除
9#
发表于 2015-3-20 13:45:28 | 只看该作者
ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-19 15:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表