我有一个带有服务层的.NET MVC应用程序,我们使用Unity将其注入控制器,以将视图逻辑与业务逻辑分开。有没有办法公开与REST端点相同的服务层方法,以便其他应用程序可以将我们的服务层用作REST API,同时仍然在我们的单片应用程序中使用服务层?
是否有人这样做的例子?
答案 0 :(得分:1)
在这种情况下,您可以使用ASP.Net Web Api创建一个单独的项目。
使用Web Api,您应该能够将服务注入控制器,并从MVC应用程序以及任何其他应用程序(移动设备等)调用这些Rest服务。
如果您使用EF,还可以考虑为存储库创建单独的项目(层),并将EF Context
注入您的存储库,将存储库注入服务层,将服务注入控制器。
在我的个人项目中,我只从我的WEB API项目调用服务层,而不是从我的MVC应用程序调用。 MVC将仅通过REST服务使用服务层。