自从我想要添加线程时编写ASP.NET应用程序以来,我可以通过3种简单的方法在ASP.NET应用程序中完成线程化:
System.Threading.ThreadPool. BeginInvoke方法. System.Threading.Thread类的帮助下使用自定义线程.前两种方法提供了一种快速方法来为您的应用程序启动工作线程.但不幸的是,它们损害了应用程序的整体性能,因为它们使用ASP.NET使用的相同池中的线程来处理HTTP请求.
然后我想使用新的Task或async/await来编写IHttpAsyncHandler.您可以找到的一个例子是Drew Marsh在这里解释的:https://stackoverflow.com/a/6389323/261950
我的猜测是使用Task或async/await仍然消耗来自ASP.NET线程池的线程,我不想要显而易见的原因.
你可以告诉我,如果我可以在后台线程上使用Task(async/await),就像使用System.Threading.Thread类而不是线程池一样吗?
在此先感谢您的帮助.
托马斯
asp.net ihttpasynchandler threadpool task-parallel-library async-await