簡體   English   中英

創建新線程時,Web API“ ApiController”是否會從ASP.NET線程池中竊取線程?

[英]Does the Web API “ApiController” steal threads from the ASP.NET thread pool when new threads are created?

據我了解,MVC專門引入了AsyncController來處理在創建新線程時避免從ASP.NET線程池中竊取線程的問題。 新的Web API沒有類似的AsyncApiController ApiController的繼承/實現簽名也與ControllerAsyncController完全不同。

問題: Web API是否已解決在創建新線程時避免從ASP.NET線程池中竊取線程的問題? 我是否缺少可以自動處理的新內容?

以供參考:

ApiController實現IHttpController並且該接口僅定義一個方法( ExecuteAsync ),該方法返回Task ,這意味着ApiController是Async。

MVC在MVC 2中引入了AsyncController以支持異步方法。 使用異步控制器不會使您的代碼神奇地異步。 在MVC 4中,控制器支持異步方法,因此不需要AsyncController。 異步方法不會用神奇的輕量級線程替換ASP.NET或IIS線程-在進行異步工作時,您並不總是使用線程。 例如,當您發出異步Web服務請求時,ASP.NET將不在異步方法調用和等待之間使用任何線程。 請參閱我的教程在ASP.NET MVC 4中使用異步方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM