MVC - 将MVC与WCF一起使用

时间:2011-07-29 10:38:26

标签: asp.net-mvc wcf

我正在设计一个MVC应用程序。

我正在考虑使用web服务,以便MVC前端的多个部署可以通过从MVC应用程序的单独服务器上托管的web服务访问的中央数据库工作,例如

  1. 一台服务器上的MVC应用程序
  2. Web服务实现业务逻辑并在另一台服务器上调用数据库
  3. 数据库服务器
  4. 如果我走这条路,那么

    1. MVC应用程序中的控制器将直接调用Web服务而不是数据库
    2. 然而,我担心在这种设置下,MVC项目中的模型将只是具有验证属性的占位符对象,我将错过模型的其他好处/功能。

      是否有方法将MVC应用程序与WCF对齐,以便使用WCF并不意味着您失去了MVC的任何好处

3 个答案:

答案 0 :(得分:4)

概念上有3种模型,但因为工具让我们,我们经常使用相同的模型。

使用WCF确实可以明确区分问题。

有一个实体模型,用于定义数据存储中数据的物理表示,例如EF生成的数据。这是特定于实现的。

有一个视图模型,用于表示UI中的数据。这是特定于实现的。

有一个域模型可以逻辑地重复数据。它用作WCF服务的接口,不是特定于实现的。例如,这允许非.NET客户端使用您的服务。

确实存在代码开销,但在非平凡的情况下,进一步抽象的好处可能很大。

它允许您独立地更改数据访问的实现和UI的实现,这是一件好事。

答案 1 :(得分:0)

你没有失去任何好处。这是关于问题的分离 - 你正在这样做。

答案 2 :(得分:0)

在解决方案资源管理器中右键单击该项目 选择添加 - >服务参考 - >然后单击高级按钮... - > 然后单击"添加Web引用..."按钮 - >然后在URL框中键入Web服务的地址。然后单击绿色箭头,Visual Studio将发现您的Web服务并显示它们。

如何在ASP.Net MVC应用程序中访问WCF服务

相关问题