在ASP.NET MVC中使用状态机工作流程

3
我有一个状态机工作流,其中包含多个状态。每个状态都有一个事件驱动的活动来处理外部事件。当该事件触发时,我想要将请求重定向到不同的控制器操作(Controller Action)视图(View)

在状态机工作流中触发事件时,最好的方法是重定向到不同的视图或控制器操作(Controller Action)是什么?

+1 这是一个好问题,可惜找了一些时间才找到,更仔细地搜索流行的适用标签,可以极大地增加您及时获得答案的机会。 - AnthonyWJones
1
@George:为什么选择C#?有哪些证据表明它是相关的?最初缺失的重要标签是工作流基础。 - AnthonyWJones
@AnthonyWJones ASP.NET MVC 多数是使用 C# 完成的 - 而 C# 允许更广泛的开发人员看到这个问题,虽然他们没有直接的 MVC 经验,但他们在问题领域有经验并可以提供帮助。 - George Stocker
1个回答

2

谢谢大家评论和回答这个问题。我因为这个问题获得了“风滚草”徽章,以为没有人会回答它。当工作流从控制器的操作运行时,是否可以从工作流的外部事件调用RedirectToAction方法?例如,在我的操作中,我会有: ActionResult DoSomething(int id) { MyExternalEventService.RaiseEvent(); WorkflowRuntimeHandle.RunWorkflow(); //在这里,我可以查询StateMachineWorkflowInstance并重定向 //基于当前状态或我可以让事件重定向; } - Leo Nix
这要看情况……RedirectToAction 的结果必须从 action 方法返回。如果你可以从工作流中提取该值并返回它,那当然可以……不过,我建议先运行你的工作流,然后根据其状态检查并在 action 方法中决定你的操作。 - Joel Martinez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接