我正在开发一个用户可以执行任务/工作流程的应用程序.每个任务都由要执行的操作队列组成.我希望能够在工作流程启动后能够输入用户.
例:
我正在开发这个C#,我知道Workflow Foundation和C#中的任务.它们可能有我需要的东西,但我也有兴趣听到从头开始这样做的设计模式.
c# workflow user-interface design-patterns workflow-foundation
我在C#中使用了一个线程,我将IsBackground属性设置为true.线程在循环中运行一些代码,直到应用程序关闭.当应用程序关闭时,线程也会停止执行(因为我设置了IsBackground = true).
应用程序如何杀死线程?它似乎不是通过调用abort来实现的,因为我没有得到ThreadAbortException.它是在幕后发生的吗?我想在我的循环块中做一些回滚.
我知道我可以自己在线程上调用abort,但我想知道应用程序如何关闭我的后台线程,以及我是否可以从线程内部做出反应.我知道我可以订阅Application.ApplicationExit事件,但是我在服务和winform中运行这个代码,我更喜欢在循环中捕获异常,所以我能够在finally语句中回滚.