首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

深度探討 ASP.NET 非同步頁面:提升可擴展性的關鍵模式

     編輯:關於ASP.NET

同步 vs 非同步

同步請求佔用執行緒直到完成;非同步請求在 BeginProcessRequest 啟動長時間作業 (如 Web Service 呼叫、資料庫查詢) 並立即釋放執行緒,作業完成由 I/O 完成埠通知,再取得執行緒執行 EndProcessRequest 產生回應。

非同步 HTTP 處理器介面

IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData);
void EndProcessRequest(IAsyncResult result);

可擴展性優勢

  • 不阻塞 ASP.NET 執行緒池,高併發下仍能處理短請求。
  • 單一請求延遲不減,但整體吞吐量大幅提升。

ASP.NET MVC 2 非同步支援

MVC 2 提供 AsyncController 簡化非同步 Action 撰寫,避免手動實作 IHttpAsyncHandler。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved