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

asp.net 异步页面

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


相关文档:

Asp.Net常用的三十三种代码

1. 打开新的窗口并传送参数:
  传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
  接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
  2.为按钮添加对话框
Button1 ......

ASP.NET MVC2 学习笔记之URL路由

    新建一个默认的ASP.NET MVC2应用程序,系统会默认的生成包含基本功能的应用程序,查看这些生成的代码,可帮助我们理解ASP.NET MVC2。下面是对URL路由的理解,以备忘。
一、Global.asax.cs中的代码:
public class MvcApplication : System.Web.HttpApplication
    {
  &n ......

asp.net mvc 2.0部署

IIS 7
IIS7自身有对MVC的支持,部署方法同其他web application基本相同,需要注意的是,mvc 2.0 application在Handler Mappings里面会有MvcHttpHandler,如图:
我使用的是.net 4.0,我看了其他.net 2.0 的web appliation下的Handler Mappings都没有这个handler maping。
注意:.net 3.5以下(包括)的web application p ......

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 ......

Bind和Eval的不同用法 (asp.net C#)

今天在用DataList的模板列的时候习惯性地像在03中那样去给模板列的绑定字段加个处理函数:
 < asp:Label ID = " Label1 " runat = " server " Text = ' <%#ConvertState(Bind("Status"))%> ' ></ asp:Label >
     可是竟然出错:当前上下文中不存在名称“Bind” ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号