【问题标题】:How to use MVC3 with WCF Connection如何将 MVC3 与 WCF 连接一起使用
【发布时间】:2012-02-23 20:47:23
【问题描述】:

我在同一个解决方案的不同项目中有业务层和 UI 层。我需要的是,将此 UI 与用 c# 编码的业务层连接起来。使用 MVC3 Razor 创建的 UI。

我应该在 MVC 应用程序中使用什么作为模型?我需要创建对业务层的服务引用来生成一些代理吗?
那么我可以使用这些代理作为模型吗?请帮帮我..
如果你能给我一些教程 我试过这个,但对 MVC 没有更多的想法:
http://www.dotnetfunda.com/articles/article816-understanding-the-basics-of-wcf-service-.aspx

【问题讨论】:

    标签: wcf asp.net-mvc-3


    【解决方案1】:

    除非您的项目(或架构师)要求您的应用程序的所有方法都访问服务层,否则我会尽量避免不必要地使用 WCF(想一想 - 这意味着您在 Web 服务器和后端之间的所有数据都会重复线,这会影响性能、数据序列化,还可能会限制数据库连接和事务的生命周期,这可能会剥夺延迟加载等功能)。 如果您同意,建议是确保您的业务层中所有可访问的接口都暴露在一个接口上,然后将 BLL 接口直接使用或注入到您的控制器中。

    您需要注意 MVC 中的 "Model" 一词 - ASP NET MVC 鼓励 ViewModels,它特定于表示层并在 Views 和 Controllers 之间传递,而不是代表更逻辑的域模型的“实体”由业务逻辑使用,并且可以使用诸如 EF 或 NHibernate 之类的 ORM 与数据持久性相关联。 MVC 项目模板将所有不是 View 或 Controller 的东西集中到 isn't necessary very helpful 的“模型”中。

    但是,如果您确实选择通过 WCF 服务层访问 BLL,您仍然需要做出一些设计决策:

    1. 选择是在客户端共享后端实体,还是使用代理实体。
    2. 选择是直接在控制器中使用/注入 WCF 服务代理,还是创建另一个外观层(例如 CAB 调用这些 ServiceAgent)。如果有单独的团队或供应商构建 SOA 端和客户端以适应接口的变化,则后者将是有意义的。

    【讨论】:

      猜你喜欢
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      相关资源
      最近更新 更多