【问题标题】:ASP.NET MVC3 with WCF as Model以 WCF 为模型的 ASP.NET MVC3
【发布时间】:2012-02-19 08:16:27
【问题描述】:

我正在尝试使用 ASP.NET MVC3 学习 MVC。我提到的大多数教程都使用实体框架。就我而言,我将使用 WCF 服务作为模型。我有以下问题(当我使用 WCF 时)

  1. 如果我使用 DataAnnotation 进行验证,应该在哪里进行验证?它在 WCF 服务内部吗?
  2. WCF 服务中使用的实体是否作为模型传递给视图?

能否请您指出一些使用 WCF 并解决我的问题的优秀 MVC3 文章/教程?如果那些文章也有代码演示,那就太好了。

阅读:

  1. How to make this Model in ASP.NET MVC3?

  2. WCF AND MVC3, system architecture. Passing a View Model with WCF?

  3. Conditional Validation on MVC3 Model Class

  4. How do I use WCF reference with MVC3 (razor) model?

【问题讨论】:

    标签: asp.net .net asp.net-mvc wcf asp.net-mvc-3


    【解决方案1】:

    我强烈建议不要在您的 WCF 服务上添加 DataAnnotation 标记。
    而是使用从执行 WCF 服务的服务/控制器填充的单独的视图模型


    这里有两个不同的问题:

    1. 为您的页面构建视图模型
    2. 使用 WCF 服务获取模型数据。

    【讨论】:

      【解决方案2】:

      如果我使用 DataAnnotation 进行验证,验证在哪里 应该?是在 WCF 服务里面吗?

      通常有 2 个级别的验证:一个用于视图模型,它是您专门为视图设计的类,另一个用于服务层。

      WCF服务中使用的Entity是作为模型传递给view的吗?

      不,您永远不会将域模型传递给视图。您设计视图模型。

      【讨论】:

        【解决方案3】:

        绝对不要在 WCF 中使用 DataAnnotions。你当然想要抽象层,但是你如何构建你的架构。通过某种形式的抽象来水合你的模型。显然,存储库模式可以满足您的要求,例如连接一个使用 rest/soap wcf 服务的通用存储库并查看模型与视图模型。

        实体 = DDD = 企业“?” .因此,例如产品是一个实体。

        保持您的验证干净和“干燥”将减少编码和更多的重用。

        【讨论】:

          猜你喜欢
          • 2012-01-05
          • 2012-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-14
          • 1970-01-01
          • 2012-07-03
          • 1970-01-01
          相关资源
          最近更新 更多