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 AJAX 服务器控件(ScriptManager 控件、UpdatePanel 控件和 Timer 控件)按固定的时间间隔更新部分网页。通过将这些控件添加到网页上,可消除在每次回发时刷新整个页面的需要。将只需更新 UpdatePanel 控件的内容。
1、在 Microsoft Visual Studio 2005 ......
ASP.NET 数据控件:GridView,DataList,Repeater ,DetailsView,FormView。
ASP.NET 数据控件综述:
1.前3个用于呈现多条记录,后面2个用于呈现单条数据明细,即常用的记录明细。
2.GridView和DetailsView控件的布局固定,自定义数据显示的布局功能有限,一般适合布局简单的数据呈现。3.DataList,Repeater和FormView数据控件 ......
一、认识Web.config文件
Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的
&nb ......
c#(或vb.net)程序改进
1、使用值类型的ToString方法
在连接字符串时,经常使用"+"号直接将数字添加到字符串中。这种方法虽然简单,也可以得到正确结果,但是由于涉及到不同的数据类型,数字需要通过装箱操作转化为引用类型才可以添加到字符串中。但是装箱操作对性能影响较大,因为在进行这类处理时,将在托管堆中 ......
如何在客户端直接调用WebService中的方法?
这里结合经验自己写一写
1.首先新建一个 ASP.NET AJAX-Enabled Web Site,这样系统为我们自动配置好了环境,这主要体现在Web.config这个文件上,如果已有网站不是ASP.NET AJAX-Enabled Web Site也可以对照修改下Web.config,也可以达到相同的效果。
2.新建一个web服务,WebSer ......