gpt4 book ai didi

c# - ASP.NET MVC 中的工作流

转载 作者:太空狗 更新时间:2023-10-30 01:11:41 25 4
gpt4 key购买 nike

作为学习练习,我想将现有的 Flash 应用程序迁移到 ASP.NET MVC。它有大约 20 种形式,虽然大部分是线性的,但也有一定程度的基于用户决策或返回数据的交替流程。

谁能指出 Controller 如何处理这个问题的正确方向?我不希望我的观点必须弄清楚它们下一步要去哪里。

更新

我想我可能没有理解构建它的正确方法。我看到每个 Controller 负责应用程序的不同部分,并有一个主 Controller 负责工作流程。

如果这不是我应该采用的方法,那么最好的方法是什么?

更新 2

ASP.NET MVC 2 中的 Areas 会处理应用程序的这个部分吗?我真的不喜欢在一个 Controller 中执行太多操作的想法...

最佳答案

一般来说:

Controller 通常是处理逻辑上一致的应用程序 block 的操作的集合(因此您经常看到 UserController/OrderController 等)。

MVC 应用程序应该使用 PRG(post - redirect - get)构建,这意味着你将对每个表单有 2 个操作,一个将显示表单,第二个具有相同的名称但装饰有 [AcceptPost],即将处理表单并根据结果将用户重定向到适当的位置。

了解其工作原理和迁移您的应用程序的最简单方法是将每个表单建模为一个没有逻辑的简单 dto,为每个表单构建一个 View 和 2 个操作。

一旦您的逻辑在 Controller 中运行,您可能希望将其迁移到某种形式的服务中,该服务可以注入(inject)到 Controller 中。

专门针对您的工作流程:

每个工作流都应该有自己的 Controller 。使用某种形式的状态模式(取决于工作流的复杂性)为它们建模可能很有用,并提供每个状态转换的结果,您的 Controller 可以将其转换为重定向到工作流中的下一步。

关于c# - ASP.NET MVC 中的工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com