我目前工作的公司建立了一个 Windows Workflow Foundation (WF) ,他们之所以选择使用它是因为规则会经常变化,这会迫使他们重新编译各种 dll 等,所以他们的解决方案是把规则放在数据库中,然后从数据库中调用它们。这样他们就可以改变规则,而不必重新编译和重新分发 dlls 等等。
Windows Workflow 像它的兄弟 BizTalk 一样吸引非编码 IT 经理、 BA 等等,但在实践中,单元测试、调试和代码覆盖率只是许多陷阱中的三个。您可以克服其中的一些问题,但是您必须投入大量资金才能实现这一点,而使用普通代码只能实现这一点。如果您真的有一个长期运行的需求,那么您可能需要一些更复杂的东西。我听说过这样的争论,即能够在不重新编译 dls 的情况下将新的 xaml 文件放到生产环境中,但老实说,工作流所消耗的时间可以更好地用于改进持续集成,使得编译后的部署不成为问题。