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

asp.net 异步页面

前几天我没事在图书馆借本··嘿嘿,挺有意思的,另外那天在贴吧看到的一才女的问题突然想到了··就看了看,挺有意思的。
具体总结的内容我今天写出来,肯能有点长,但是对网站绝对有用。
  页面的处理默认情况下,处理ASP。NET页面的模型本质上是同步的。这说明,页面的流程是固定的,每一页由一个线程处理,而且线程在处理完前不会释放。服务器线程池中的线程师有限的,一旦服务器用完所有的线程,你就会碰到可恶的“服务器不可用”的错误。甚至在此前,由于等待线程和内务的任务增多,你会发现性能下降。所以,要改善性能,不仅希望尽可能快的处理页面,还要尽快地线程释放回线程池。通常无法显示地控制何时释放线程,但是倘若采用异步处理,就能释放线程,让它从长时间运行的页面脱身。
  
   asp.net 2.0为异步页面引入了一个简单易行的模型,不过一定要理解网页中的异步到底是什么含意,这很重要。从客户浏览器接收到一个请求时,在页面返回给浏览器之前必须处理整个页面。异步页面不允许分阶段的地传输页面,尽管可以将输出缓冲起来 ,但这是两码事。如果想传递部分页面,接下来一步的运行一个任务,然后,再把更多数据发回给客户,这是做不到的。
  
   页面由一个县城从上到下地处理。这一点很重要,因为要由一个线程来负责这个请求,如果一个页面停顿,这可能是因为正在通过一个web服务访问远程数据,请求处理完成之前这个线程是无法释放回服务器。如果大量请求都存在这种情况,服务器就很容易用光所有线程。异步页面则可以缓解这种情况,如果页面在正常处理过程中可能要完成一个长时间运行的任务,可以不再依赖于单线程。需要指出哪些任务需要异步的处理,在在PreRender事件之后,异步任务启动。处理请求的线程释放回线程池,页面请求等待,知道处理可以继续(异步任务完成时就可以继续处理了)。asp.net知道异步任务何时完成(任务开始时它注册了一个委托),所以可以从线程池取一个线程,并继续处理这个页面。
 异步处理不光能加快单个页面的处理。而能加快整个网站的速度。线程池中有更多可用线程,这就意味着可以处理更多的请求。·····
看起来是不是很酷·····
这只是目前的理论,等等会操作了,我会接续吧实现方式写出来··这样就更酷了·


相关文档:

【ASP.net技巧】asp.net弹出窗口 返回值

刚刚 看到这么一个问题,这里也做个标记:http://topic.csdn.net/u/20080411/14/7b0f9da5-0413-4149-91e9-72c3df3018a3.html?seed=327251592
第一种方式:
//在Visual Studio 2008中调试通过
testPop_Page.aspx:主页面ASPX代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  ......

定义和使用ASP.NET Profile(附例)

1、双击一个数据源控件,将要存储profile的数据库作为数据源加入控件(这个步骤没什么用,只是为了方便大家用控件建立连接,这样不容易出错),建立好之后将design页面的数据源控件删除,你会发现在web.config里还是有一条连接语句,不要删除,我们下面将用到它,如: <connectionStrings>
  <add ......

asp.net 下实现文件上传进度条(IHttpModule)

本文将探讨asp.net下实现文件上穿进度条的方法。
一般情况下,要实现上传进度条首先要实现上传文件分块读取,而默认情况下,iis将直接把上传的文件一次读入到内存中,所以本处的难点在于拦截iis的文件上传过程,转而自己的实现方式。所以,我们可以实现一个IHttpModule来处理上传过程。具体的过程是Application_BeginReque ......

ASP.NET Mischellous

@Register : Register a user control or class with alias to this page.
@Import: Import a namespace.
@Reference: Link user controls or other page to complile current page. 支持数据跨页面的传送
页面事件:PreInit(创建服务器控件), Init(初始化服务器控件的状态), InitComplete,PreLoad, Load, Lo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号