ASP.net运行Thread类Foreground-Threads

时间:2016-01-01 17:13:28

标签: asp.net multithreading

我确实有一个关于在ASP.net Web应用程序中运行的额外前台线程的快速问题。 我让一些事情在一个额外的Thread类线程中运行,比如在某个事件之后的Cleanup-Actions,但是用户对这些操作不感兴趣,因此线程 - 这些操作应该只运行(而不是在后台)并且无关提供服务请求。

  • 当应用程序因未捕获的异常而崩溃时会发生什么 - 额外的线程会运行完成还是IIS会立即取消它?

  • 应用程序池回收时会发生什么?

我知道对于像这样的工作使用单独的程序会是更好的方法。例如Windows服务,但我“继承”了前雇员的代码..

1 个答案:

答案 0 :(得分:1)

在ASP.NET中完成或排队的任何工作都可能随时丢失。没有必要详细回答您的问题,因为它们没有实际意义。 很多原因导致整个过程无法消失。

Windows服务也可以随时消失(崩溃,蓝屏......)。

如果您需要可靠的执行,您需要坚持工作。某种消息队列(可能是数据库表)是合适的。