相关疑难解决方法(0)

在IHttpAsyncHandler中使用Task或async/await

自从我想要添加线程时编写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

15
推荐指数
2
解决办法
9869
查看次数