【问题标题】:how to give outside programs access to a C# repository?如何让外部程序访问 C# 存储库?
【发布时间】:2018-07-24 02:15:31
【问题描述】:

当涉及到 WPF/MVC 应用程序时,我一直在对一般良好的架构进行大量研究。我试图真正确定的概念之一是存储库。

如果我想为我正在处理的一些桌面应用程序编写一个 WPF 应用程序前端,该应用程序需要访问特定数据库中的数据,那么这相当容易。这只是基本的 CRUD。

现在我想基本上将所有数据访问代码保存在一个区域中,这将是我的存储库。非常适合我的 WPF 应用程序访问这个位置。现在,如果我想创建一个访问这个完全相同的存储库的 MVC Web 版本怎么办?很简单,我可以将存储库分离到一个单独的命名空间中,引用它并进行访问。

问题:

现在假设我处于另一个使用 Java / linux 服务器来管理其代码的所有内容的部门需要访问此存储库以引用数据或提取数据的情况。

这会是个问题吗?我应该使用服务来访问存储库吗?如果是这样,它应该是 WCF 服务还是 WebApi?如果我们不使用基于 Web 的版本来访问该程序,那么 WebApi 仍然是要走的路线吗?他们可以直接引用存储库吗?处理此类问题的最佳方法是什么?我正在寻找好的建议,而不是寻找任何特定的答案。

【问题讨论】:

  • 在您的项目解决方案中创建类库。在该库中,您创建一个文件夹并保留所有存储库。您可以在该解决方案中的任何项目中访问该库。只需在您的项目中添加引用即可。

标签: c# .net repository


【解决方案1】:

这两个选项都是可能的。 1.您可以围绕(推荐WebAPI)您的存储库类创建一个服务包装器并公开给外部应用程序。 2. 可以创建tlb文件/JAva callable wrapper以便他们可以直接引用。

但在设计方面,最好推荐选项 1,因为它易于维护、扩展,如果您想进行任何更改,客户可以参考新方法,您可以弃用旧方法等。

【讨论】:

  • 所以您不认为 WFC 服务会是一个很好的解决方案来提供对存储库代码的访问权限?
  • 我认为你的意思是 WCF 解决方案,我推荐 WebAPI,因为它易于维护且配置步骤少
猜你喜欢
  • 2017-11-29
  • 2017-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多