注意:请不要将其作为副本写下来。请仔细阅读我的完整问题。
我有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
}
}
请不要建议我创建另一个具有通用功能的类,这是我在寻找解决方案时通常在网络上找到的解决方案。我没有共同的功能。我只想以线性方式执行代码。一个接一个地。希望我很清楚。任何帮助将不胜感激。
答案 0 :(得分:4)
惯用的方法是通常尽可能少地在控制器中放置功能,只需将控制器作为端点调用您的业务层即可。
这样可以减少与Web API的耦合,并使您可以灵活地将多个不同的端点导入系统,例如:您可能因任何原因决定需要WCF端点。 Web API可能不会永远存在,如果您将系统紧密地耦合到Web API中,您将会头疼。
答案 1 :(得分:0)
你是否从控制器A
尝试了这个new ControllerB().AnotherMethod()