С самого начала написания приложений ASP.NET, когда я хотел добавить потоки, есть 3 простых способа выполнить потоки в моем приложении ASP.NET:
- Использование
System.Threading.ThreadPool
. - Использование пользовательского делегата и вызов его метода
BeginInvoke
. - Использование пользовательских потоков с помощью класса
System.Threading.Thread
.
Первые два метода предлагают быстрый способ отключить рабочие потоки для вашего приложения. Но, к сожалению, они повредили общую производительность вашего приложения, так как они потребляют потоки из того же пула, который используется ASP.NET для обработки HTTP-запросов.
Затем я хотел использовать новую задачу или async/wait для записи IHttpAsyncHandler
. Один пример, который вы можете найти, это то, что объясняет Дрю Марш: qaru.site/info/527549/...
Я предполагаю, что использование Task или async/await все еще потребляет поток из пула потоков ASP.NET, и я не хочу по очевидной причине.
Не могли бы вы рассказать мне , если я могу использовать Task (async/await) в фоновом потоке, например, с System.Threading.Thread
class , а не из пула потоков?
Заранее благодарим за помощь.
Томас