这里有一些类似的问题,但没有一个问题得到解答。
我该怎么做,最好的方法?
每次我想使用它的函数时,我都可以创建另一个Controller类的新实例,但从长远来看这似乎很糟糕,我错了吗?
我应该让功能(例如UserController.GetAllUsers()
)共享吗?
答案 0 :(得分:3)
我不建议在其他控制器上访问该方法。在ASP.NET MVC中,可以通过多种不同的方式(注入,工厂等)创建控制器,并且您不能保证您将模拟正在使用的任何机制。
相反,您应该将GetAllUsers
方法分解为一个单独的类/方法,该方法获取返回其值所需的参数。然后,您可以将适当的值从两个控制器传递给该新类。
该类应该不了解ASP.NET MVC;你可以从控制器实例中传递它们。