知识大全 Asp.net异步如何提高服务器吞吐量

Posted

篇首语:明日复明日,明日何其多!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Asp.net异步如何提高服务器吞吐量相关的知识,希望对你有一定的参考价值。

Asp.net异步如何提高服务器吞吐量  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

Codepublic class Handler :IHttpAsyncHandlerIHttpAsyncHandler 成员#region IHttpAsyncHandler 成员public IAsyncResult BeginProcessRequest(HttpContext context AsyncCallback cb object extraData)context Response Write( <p>Begin IsThreadPoolThread is + Thread CurrentThread IsThreadPoolThread+Thread CurrentThread ManagedThreadId + </p>\\r\\n );AsyncHandler hand = new AsyncHandler(cb context extraData);hand StartAsyncWork();return hand;public void EndProcessRequest(IAsyncResult result)

#endregionIHttpHandler 成员#region IHttpHandler 成员

public bool IsReusableget return false; public void ProcessRequest(HttpContext context)throw new NotImplementedException();#endregionpublic class AsyncHandler : IAsyncResultprivate bool _pleted;private Object _state;private AsyncCallback _callback;private HttpContext _context;public AsyncHandler(AsyncCallback callback HttpContext context Object state)_callback = callback;_context = context;_state = state;_pleted = false;

IAsyncResult 成员#region IAsyncResult 成员public object AsyncStategetreturn _state;

public System Threading WaitHandle AsyncWaitHandleget throw new NotImplementedException();

public bool CompletedSynchronouslyget return false;

public bool IsCompletedget return _pleted;

#endregion

public void StartAsyncWork()ThreadPool QueueUserWorkItem(new WaitCallback(StartAsyncTask) null);private void StartAsyncTask(Object workItemState)Thread Sleep( );//模拟IO_context Response Write( <p>Completion IsThreadPoolThread is + Thread CurrentThread IsThreadPoolThread + </p>\\r\\n );_context Response Write( Hello World from Async Handler! + Thread CurrentThread ManagedThreadId);_pleted = true;_callback(this);

  这是Asp net中的异步处理 Asp net的异步处理目的就是要搞高服务器的接受请求的处理能力 但有一点不明白 使用异步处理时 在BeginProcessRequest时 会将处理当前请求的线程放回到线程池中 放回到线程池中的此线程继续接受新的请求 但是在StartAsyncWork这个时候 同样会从当前线程池中获取一个线程继续处理这个IO 这样并不能提高服务器的吞吐量 相反会在线程间切换浪费CPU时间和资源 Asp net异步处理就没有意义了(其实是有意义的)

cha138/Article/program/net/201311/15432

相关参考

知识大全 ASP.NET 2.0 中的异步页功能应用

ASP.NET2.0中的异步页功能应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!ASPNET提

知识大全 为ASP.NET MVC扩展异步Action功能(上)

为ASP.NETMVC扩展异步Action功能(上)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET2.0中数据源控件之异步数据访问

ASP.NET2.0中数据源控件之异步数据访问  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在

知识大全 ASP.NET服务器控件语法

ASP.NET开发宝典:ASP.NET服务器控件语法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET在服务器端控制网页

ASP.NET在服务器端控制网页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!使用Net和C#开发

知识大全 简单介绍ASP.net服务器控件

简单介绍ASP.net服务器控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET服务

知识大全 ASP.NET服务器控件视图浅析

ASP.NET服务器控件视图浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET服务

知识大全 ASP.NET 从服务器下载文件

ASP.NET从服务器下载文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  stringfil

知识大全 ASP.NET 2.0服务器控件开发精要

ASP.NET2.0服务器控件开发精要  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  利用ASP

知识大全 ASP.NET服务器控件发送脚本

ASP.NET服务器控件发送脚本  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要尽管从技术角