易截截图软件、单文件、免安装、纯绿色、仅160KB

asp.net中的异步页面


要想了解asp.net 2.0的异步页的处理过程,先列出页面的生命周期:
1 :Init 事件: 页面初始化 ,初始化设置。
2: LoadViewState方法: 加载视图状态, 填充ViewState属性。
3 :LoadPostData方法: 处理回发数据, 处理传入窗体数据。
4: Load 事件: 加载页面 ,页面控件初始化完成并反映了客户端的数据。
5 :RaisePostDataChangedEvent方法: 回发更改通知 引发更改事件。
6 :RaisePostBackEvent方法: 处理回发事件 ,处理引起回发的客户端事件,并在服务上引发相应时间。
7: PreRender事件: 页面预呈现 。
8 :SaveViewState方法: 保存视图状态, 将ViewState属性保存到字符串中。
9 :Render方法: 呈现页面 。
10: Dispose方法: 处置是否对昂贵资源的引用。
11 :Unload事件: 卸载页面 。
页面处理方式:
1:同步处理;
2:异步处理。
同步请求过程:
1:ASP.NET 收到页面请求时,从线程池中提取一个线程并将请求分配给该线程。
2:页在该请求期间保留线程,防止该线程用于处理其他请求。
3:如果一个同步请求需要运算时间较长,此时分配给该请求的线程在调用返回之前处于挂起状态。
4:等待线程返回后完成页面的其它生命周期。
同步请求的生命周期和线程关系图:
同步请求的问题:
线程池的可用线程是有限的,如果此时请求过多,ASP.NET 因 503“Server Unavailable”错误使后续请求失败。这让asp.net能够接收的请求量会大大减少,影响了可伸缩性。
异步的处理过程:
前面的两点和普通同步请求一样,不同的是对于比较费时的过程的处理方式:
1:一个异步操作开始响应 ASP.NET 的信号之后,该线程返回线程池。
2:ASP.NET 调用使用 AddOnPreRenderCompleteAsync 注册的 Begin 方法。Begin 方法的任务是启动诸如数据库查询或 Web 服务调用的异步操作,并立即返回。
3:线程返回到线程池。同时,Begin 方法返回 IAsyncResult。
4: ASP.NET 从线程池提取线程并调用 End 方法。
5:当 End 返回之后,ASP.NET 执行该页生命周期其余的部分。
异步请求的生命周期和线程关系图:

异步的优势:
线程池线程得到了高效的使用,提高了可伸缩性。原来挂起等待的线程现在可用于服务其他请求。
异步加载数据的示例:
第一步:让页面支持异步。设置Async属性。
第二步:因为是操作数据库,想让数据库支持异步,需要对数据库连接串进行配置。
Asynchronous Processing=true。
第三步:在页面的Page_Load


相关文档:

浅谈ASP.net安全编程

在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......

CuteEditor是一款功能非常强大的Asp.net HTML编辑器

CuteEditor是一款功能非常强大的Asp.net HTML编辑器
 一、CuteEditor的配置
      1、将以下文件考贝到你站点根目录下的bin内(这些在CuteEditor6.0/bin下都可以找到)
      CuteEditor.dll,
      CuteEditor.ImageEditor.dll(6. ......

ASP.net 类和属性的问题

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Sy ......

asp.net性能优化的几个方面

c#(或vb.net)程序改进
1、使用值类型的ToString方法
  在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中 ......

ASP.NET 单点登录

译文原文地址
http://www.cnblogs.com/hl13571/archive/2008/01/28/1056671.html
英文原文地址
Understanding Single Sign-On in ASP.NET 2.0
理解ASP.NET 2.0中的单点登录
Published: 16 Jan 2008
摘要
在这篇文章中,Masoud讨论了应用ASP.NET中统一身份验证模型进行跨应用程序验证的问题,包括:Membership Prov ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号