从另一个API控制器

时间:2017-05-15 09:40:36

标签: c# asp.net-mvc asp.net-mvc-4 asp.net-web-api

注意:请不要将其作为副本写下来。请仔细阅读我的完整问题。

我有2个Web API控制器A和B.我需要在控制器A的方法中从控制器B调用一个方法。这样,我需要在执行某些操作后发生这种情况。

class AController : ApiController{
    public IHttpAction SomeMethod(){
        //some action I need to finish before the call for Controller B

        //Call for Controller B
    }
}

class BController : ApiController{
    public IHttpActionResult AnotherMethod(){
        //Some code that I want to be executed after the code in Controller A
    }
}

请不要建议我创建另一个具有通用功能的类,这是我在寻找解决方案时通常在网络上找到的解决方案。我没有共同的功能。我只想以线性方式执行代码。一个接一个地。希望我很清楚。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

惯用的方法是通常尽可能少地在控制器中放置功能,只需将控制器作为端点调用您的业务层即可。

这样可以减少与Web API的耦合,并使您可以灵活地将多个不同的端点导入系统,例如:您可能因任何原因决定需要WCF端点。 Web API可能不会永远存在,如果您将系统紧密地耦合到Web API中,您将会头疼。

答案 1 :(得分:0)

你是否从控制器A

尝试了这个
new ControllerB().AnotherMethod()