ASPNET MVC:重用操作序列

| 我正在建立一个站点,作为不同操作的一部分,我经常不得不经历相同的步骤序列。简而言之,我的数据模型的一部分是分层的,我遍历分层结构以找到特定的元素,然后我执行几种不同的操作之一(例如,向其添加详细记录,对其进行编辑)。 目前,我是通过数据层检索一个对象来完成的,该对象代表层次结构中的一个节点,并且包含有关其子节点的详细信息。我在网站的多个不同区域中使用了相同的描述符类。 我想做的是将各种动作方法打包在一起,这些方法包括走树并选择一个节点到我可以从各种控制器类“调用”的“子例程”中。检索节点。但是我想不出在ASPNET MVC结构中执行此操作的好方法。有什么建议吗? ps。这里介绍了一种方法,但是我很想看看是否还有其他方法。     
已邀请:
在没有看到任何代码的情况下,您所描述的“打包构成步行树的各种动作方法”只是创建一个方法。换句话说,您不应该希望调用包含遍历树的操作方法集,而是调用那些操作方法所使用的方法。 这样做的意思是重构动作方法,以便在服务类中处理逻辑,并创建一个由您感兴趣的动作组成的方法。 因此,您的控制器将如下所示:
public class ControllerA {
    public ActionResult DoSomething() {
        serviceA.DoSomething();
    }
}

public class ControllerB {
    public ActionResult DoSomethingElse() {
        serviceB.DoSomethingElse();
    }
}
您将使用所需的逻辑定义这些服务,现在可以创建一个调用所需方法的SharedService类。
public class SharedService {
    public void DoBoth() {
        serviceA.DoSomething();
        serviceB.DoSomethingElse();
    }
}
    

要回复问题请先登录注册