【问题标题】:Exposing .NET MVC Service layer as REST endpoints将 .NET MVC 服务层公开为 REST 端点
【发布时间】:2017-11-14 18:24:16
【问题描述】:

我有一个带有服务层的 .NET MVC 应用程序,我们使用 Unity 将其注入到控制器中,以将视图逻辑与业务逻辑分开。有没有办法公开与 REST 端点相同的服务层方法,以便其他应用程序可以将我们的服务层用作 REST API,同时仍然在我们的单体应用程序中使用服务层?

有没有人这样做的例子?

【问题讨论】:

  • 我建议使用ASP.NET Web API 创建您的 REST API。它可以使用与您的 .NET MVC 应用程序相同的服务层。

标签: c# .net asp.net-mvc rest


【解决方案1】:

在这种情况下,您可以使用 ASP.Net Web Api 创建一个单独的项目。

使用 Web Api,您应该能够将您的服务注入您的控制器,并从您的 MVC 应用程序以及任何其他应用程序(移动设备等)调用这些 Rest Services。

如果您使用 EF,您还可以考虑为您的存储库创建一个单独的项目(层),并将 EF Context 注入您的存储库,将存储库注入您的服务层,并将您的服务注入您的控制器。

在我的个人项目中,我只从我的 WEB API 项目中调用服务层,而从不从我的 MVC 应用程序中调用。 MVC 将仅通过您的 REST 服务使用服务层。

【讨论】:

  • 这确实是我想要转向的架构,但我找不到人们以这种方式实现 MVC 的示例。你有第一次看到这种类型的实现的参考吗?我一直在用谷歌搜索,但是在 .NET 中有很多不同的方法可以解决同样的问题
  • 在复数中你可以找到很多例子:app.pluralsight.com/library 有很多课程。看看作者的 GitHub 仓库,大部分在 GitHub 上都有他的示例代码。
猜你喜欢
  • 1970-01-01
  • 2011-09-11
  • 2018-12-11
  • 2015-05-03
  • 2017-02-21
  • 2012-05-05
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多