Tag: 工作

为工作流应用程序推荐设计模式

我正在开发一个用户可以执行任务/工作流的应用程序。 每个任务都由要执行的操作队列组成。 我希望能够在工作流程启动后能够输入用户。 例: 任务开始 Action1启动 Action1结束 Action2启动 Action2结束 Action3需要用户输入(UI打开窗口以获取用户输入) Action3获取用户输入 Action3开始了 Action3结束 任务结束 我正在开发这个C#,我知道Workflow Foundation和C#中的任务。 它们可能有我需要的东西,但我也有兴趣听到从头开始这样做的设计模式。

拥有一个大工作流程或几个较小的特定工作流程会更好吗?

我需要构建一个从服务器获取文件并移动到另一台服务器的应用程序。 有人建议我考虑使用Windows Workflow Foundation(WF)。 我开始构建工作流程,但它变得混乱,我不确定我是以最好的方式做到这一点。 这是基本的worklow活动: 获取源列表确定源是ftp还是磁盘驱动器从服务器获取文件列表如果source是ftp然后使用ftp获取文件如果source是drive则获取else然后从驱动器读取文件如果target是ftp则ftp文件到服务器如果目标是驱动器然后写入驱动器,如果目标是Web服务然后发布到Web服务如果源是ftp然后删除文件与ftp命令否则如果源是驱动器然后删除文件 通过一个工作流程,它会变得有点繁忙。 我需要2个while循环,一个在集成周围,一个在我得到文件列表之后。 我想到的另一件事是构建多个工作流程。 一个用于FTPtoFTP,FTPtoDrive,FTPtoWebServie,DriveToFTP,DrivetoDrive,DriveToWebService。 有什么建议?

努力unit testingentity framework6.1.3 DB-first

使用Effort框架(版本1.1.4)对我的数据库层进行unit testing时,我遇到了问题。 我有一个使用Entity framework 6.1.3的DB层,并且使用数据库优先方法创建模型,因此有一个描述模型的*.edmx文件。 我创建了一个部分类来公开unit testing使用的额外构造函数,如下所示: public partial class Entities { public Entities(DbConnection connection) : base(connection, true) { } } 简单的unit testing如下所示: private Entities CreateContext() { //var connectionString = ConfigurationManager.ConnectionStrings[“Entities”].ConnectionString; //var connection = Effort.EntityConnectionFactory.CreateTransient(connectionString); //return new Entities(connection as DbConnection); var connection = Effort.EntityConnectionFactory.CreatePersistent(“name=Entities”); var context = new Entities(connection); return context; } [TestMethod] public void […]

工作流设计困境 – 状态机,是或否

我是WF的初学者,但我读了一本书并做了很多谷歌搜索。 我想写一个库存管理服务。 库存由具有以下状态的单个项目组成: 备用 安装 在维修 物品可能在每个州花费数月,并且有数千种物品。 问题是,我是否为所有不同的状态创建状态机工作流程? 或者我是否创建了在州之间转换的工作流程? 如果我理解正确,如果我创建单个状态机工作流程,那么将始终为每个项目运行工作流程。 这意味着数千个不断运行的工作流程。 此外,我需要能够显示每个项目状态的快照,这意味着我必须以某种方式查询它们当前所处状态的所有工作流程,或者在每次状态转换后以其他方式持久保存到数据库。 然而,状态机工作流程在逻辑上听起来是正确的事情,因此我的困境。 如果可以,请你帮助我 :-) 谢谢! 更新: 假设我有比上面3更多的状态,并且不是所有状态转换都是可能的。 赏金获奖者:莫里斯 – 感谢所有其他人真正帮助我更多地了解工作流程,MS工作流程基础以及其他更轻量级的替代方案。 不幸的是,只有一个赏金赢家,莫里斯的回答及其评论对我帮助最大。