如何授予外部程序访问C#存储库的权限?

时间:2018-07-24 02:15:32

标签: c# .net repository

在WPF / MVC应用程序方面,我已经针对一般的良好体系结构进行了大量研究。我试图真正确定的概念之一是存储库。

如果我想为某些桌面应用程序编写WPF应用程序前端,则需要从特定数据库访问数据,那么这相当容易。这只是基本的CRUD。

现在,我基本上希望将所有数据访问代码都保留在一个区域中,该区域就是我的存储库。我的WPF应用程序只需访问该位置,就可以很好地工作。现在,如果我想创建一个访问该完全相同的存储库的MVC Web版本,该怎么办?很容易,我可以将存储库分成一个单独的命名空间,对其进行引用并具有访问权限。

问题:

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

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

1 个答案:

答案 0 :(得分:0)

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

但是从设计角度来看,最好选择选项1,因为它易于维护,扩展,并且如果您要进行任何更改,客户端可以只引用新方法,也可以弃用旧方法等。