2017-05-13 83 views
0

我只是想知道如何接近我的项目。 在我的应用程序有:WCF与MVC应用程序和移动应用程序

  1. MVC4项目
  2. DB_Project用接口和模型
  3. Repository_Project与接口implemantation - 我使用Ninject

下一步是移动应用程序(XAMARIN) ,这里是问题:

  1. 什么样的WCF项目ct我应该选择,为什么... WCF服务应用程序或WCF服务库?

  2. 我应该添加这个项目像任何其他或创建单独的?

  3. 选择WCF项目后,如何使用对Repository_Project的引用 - 这是正确的方法吗?

回答

0

我会给你一些想法来考虑。

1-您的Xamarin应用程序必须与暴露于Internet的asp.net web api/mvc进行通信。我不建议将WCF服务暴露给互联网,原因很多。

2-在数据层,存储库是访问您的EF dbContext而不是调用WCF服务的抽象。

3-您只在合理时增加复杂性。如果你愿意为xamarin应用程序创建WCF项目进行通信,那么我几乎不会阻止你。如果你有一些安全策略强制3层体系结构,其中web api需要一个中间层来访问数据库,那么WCF项目可能会在你的情况下被创建。否则,你不需要它。

2-层:

Xamarin - >网页API - >的SQL Server

3-层:

Xamarin - >网页API - > WCF - >的SQL Server

+0

感谢答案。 我在我的应用程序中有3层。 现在我已经在我的App中创建了另一个项目 - WCF服务应用程序。 在这个项目中,我添加了ADO.NET实体数据模型。 这是正确的方向吗? – michal

+0

你能看看我的答案 - 对不起,我不能编辑前一个 – michal

+0

你创建一个.data类库项目,你的EF DbContext驻留。因此,您可以在EF实体所在的位置创建一个.Entities类库项目。您可以使用新的ado.net实体数据模型 - >生成您的EF实体和DbContext,并从数据库中首先选择代码。然后,您的服务应用程序必须引用.Entities和.Data图层并使用它们。 –