浅析ASP.NET异步页面

开发 后端
本文介绍ASP.NET的异步页面让我第一想法是和ajax效果比较,ajax应用在比较费时的方法上,当数据加载时,在页面显示数据的区域先用一段提示文字。

ASP.NET异步页面与ajax异步的效果区别:

1:ASP.NET的异步页面让我***想法是和ajax效果比较,ajax应用在比较费时的方法上,当数据加载时,在页面显示数据的区域先用一段提示文字,例如:数据正在加载中...之类的,无论这个方法多么费时,它只影响这一块的数据显示,页面其它区域不受影响(如果速度不慢的话)。而ASP.NET异步页面并不能达到这种效果,从上面的异步执行流程图可以看出,异步调用的事件发生在onprerendercomplete中,就是说在页面中生命周期之内,页面要想完全呈现给用户,必须等待异步方法返回结果。例如,一个费时的异步io方法,需要费时10s,那么用户要想看到页面,起码在10s以上。

2:ASP.NET异步页面增加的是处理请求的数量,线程池线程得到了高效的使用,提高了可伸缩性,而ajax是在页面加载完成之后根据返回结果调用回调函数操作dom完成数据加载。

异步任务:

ASP.NET 2.0 中引入了另一个方法来简化异步操作: registerasynctask,比 addonprerendercompleteasync 具有以下优势。

1:除了 begin 和 end 方法,registerasynctask 允许注册当异步操作长时间无法完成时调用的超时方法。设置 @ page 指令中 asynctimeout 属性设置超时。

2:可以在一个请求中多次调用 registerasynctask 来注册若干异步操作。

3:可以使用 registerasynctask 的第四个参数将状态传递给 begin 方法。这个参数一般设置为null。

registerasynctask 的异步页与依赖于 addonprerendercompleteasync 的异步页相类似。需要将该页的 asyncmode 属性设置为 true,且与通过 prerender 事件执行,此时调用使用 registerasynctask 注册的 begin 方法,而不是addonprerendercompleteasync ,而且进一步保持请求处理直到***一个操作完成。

总结:

正确的使用好asp.net异步页面在某些环境下能够使得应用程序性能得到优化。

【编辑推荐】

  1. ASP.NET的DataList和Repeater控件
  2. 浅析ASP.NET的IIS映射
  3. 概述ASP.NET状态类型
  4. 浅谈ASP.NET和Web服务器
  5. ASP.NET的EnableViewState属性
责任编辑:佚名 来源: 51CTO.com
相关推荐

2009-08-21 17:02:20

ASP.NET异步回调

2009-07-29 16:41:45

ASP.NET页面框架

2009-08-05 14:01:50

ASP.NET配置错误

2009-08-03 13:38:18

ASP.NET编程模型

2009-08-05 14:17:27

ASP.NET错误页面

2009-07-24 10:53:51

ASP.NET实现静态

2009-06-24 09:12:26

ASP.NET页面请求

2009-08-21 17:11:15

ASP.NET异步回调

2009-08-05 15:50:13

ASP.NET优点

2009-07-31 12:43:59

ASP.NET MVC

2009-10-10 10:44:15

ASP.NET页面缓存

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-08-04 17:00:09

ASP.NET禁用Vi

2009-08-05 14:46:17

ASP.NET url

2009-07-20 16:23:01

ASP.NET授权模块

2009-07-28 13:35:18

2009-07-23 14:31:20

ASP.NET MVC

2009-07-27 10:18:12

TypeResolveASP.NET
点赞
收藏

51CTO技术栈公众号