我需要构建一个从服务器获取文件并移动到另一台服务器的应用程序。有人建议我考虑使用 Windows Workflow Foundation (WF)。
我开始构建工作流程,但它变得越来越混乱,我不确定我是否以最好的方式做到了这一点。
以下是基本工作流程活动:
获取来源列表
确定源是 ftp 还是磁盘驱动器
从服务器获取文件列表
如果源是 ftp,则使用 ftp get 获取文件,否则如果源是驱动器,则从驱动器读取文件
如果目标是 ftp,则将 ftp 文件发送到服务器,否则如果目标是驱动器,则写入驱动器,否则如果目标是 Web 服务,则发布到 Web 服务
如果源是 ftp,则使用 ftp 命令删除文件,否则如果源是驱动器,则删除文件
对于一个工作流程来说,它会变得有点忙碌。我需要 2 个 while 循环,一个围绕集成,一个在获得文件列表之后。
我想到的另一件事是构建多个工作流程。一种用于 FTPtoFTP、FTPtoDrive、FTPtoWebServie、DriveToFTP、DrivetoDrive、DriveToWebService。
有什么建议么?
首先,您应该考虑为每个主要部分创建自定义活动。自定义活动将是可由许多步骤组成的复合活动。这将有助于整理一些事情,并允许您继续在相对较高的级别上使用工作流程。
工作流程设计器虽然方便,但并不是真正设计用于大规模扩展。从 VS 2008 开始,使用基于 XAML 的技术的最佳方法是使用文本编辑器并直接读取/写入 XML。
将其分解为多个工作流程might除非您可以将其分解为几个高级活动并在 XAML 级别上工作,否则这不是最好的方法。请记住,如果所有这些的逻辑和流程几乎相同,那么您现在必须维护 6 个不同的工作流程。这是一个bigger如果您的工作流程很复杂并且您需要修复所有工作流程中的常见逻辑错误,那么这将是一场噩梦。
您还应该考虑服务的使用。这可能允许您拥有一个工作流程和一组活动,但每个步骤的实现都可以隔离到一个服务中。在这种情况下,您需要为每个组合实例化一个工作流,将相同的工作流加载到每个组合中,并注入不同的活动。不一定是最好的方法,但需要考虑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)