知识大全 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.NET2.0中的异步页功能应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!ASPNET提
知识大全 为ASP.NET MVC扩展异步Action功能(上)
为ASP.NETMVC扩展异步Action功能(上) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET2.0中数据源控件之异步数据访问 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在
ASP.NET开发宝典:ASP.NET服务器控件语法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET在服务器端控制网页 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!使用Net和C#开发
简单介绍ASP.net服务器控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPNET服务
ASP.NET服务器控件视图浅析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPNET服务
ASP.NET从服务器下载文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! stringfil
ASP.NET2.0服务器控件开发精要 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 利用ASP
ASP.NET服务器控件发送脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要尽管从技术角