有些东西很容易通过手工(代码)实现,但有些东西通过WF更容易实现.看起来WF可以用来创建(几乎)任何类型的算法.所以(理论上)我可以在WF中完成我的所有逻辑,但对所有项目来说,这样做可能不是个好主意.

在什么情况下使用WF是一个好主意?什么时候它会让事情变得更加困难?与手工编码相比,WF的优点和缺点/成本是什么?

推荐答案

仅当以下任何一项为真时,您可能需要WF:

  1. 您有一个长期运行的流程.
  2. 您有一个经常更改的流程.
  3. 你需要一个过程的可视化模型.

欲知更多详情,请参阅Paul Andrew的帖子:What to use Windows Workflow Foundation for?

请不要将WF与任何形式的可视化编程混淆或联系起来.这是错误的,可能会导致非常糟糕的架构/设计决策.

.net相关问答推荐

DI通过对象的接口而不是实际类型来解析服务

dotnet 8 web api在部署到docker后无法工作

当数据大量分布在微服务中时,我应该如何设计后端?

Msbuild try 构建 msbuild.exe 而不是我的 .csproj 文件

PowerShell - 如果用户输入凭据,则查询 AD 时出错

如何判断 IOException 是否为 Not-Enough-Disk-Space-Exception 类型?

如何以编程方式判断类型是 struct 还是类?

比较 C# 中的字符串和对象

一种消耗(所有字节)BinaryReader 的优雅方式?

如何在 C# 中直接执行 SQL 查询?

调用委托与方法的性能

如何正确停止BackgroundWorker

Int 到字节数组

检索字典值最佳实践

dotnet 恢复警告 NU1701

Visual Studio 2017 和 2019 突出显示滚动条中所选单词的出现

String.Replace() 与 StringBuilder.Replace()

CI服务器的比较?

.NET 高级别的 .NET 4.0 和 .NET 4.5 的区别

在 WPF 中设置 Tab 键顺序