【问题标题】:What are the advantages and disadvantages of single/multiple domainservices in RIARIA中单/多域服务的优缺点是什么
【发布时间】:2013-11-29 13:23:54
【问题描述】:

在 Silverlight 中使用 RIA 服务时,我想知道对于域服务数量和组织的最佳解决方案是什么?

我已经阅读了一些关于这方面的文章有很多不同的说法,发现有些人更喜欢:

  • 每个视图模型一个域服务
  • 每个对象组一个域服务(即订单、订单、产品等)
  • 整个应用程序的一个域服务

还有更多...

我认为所有不同的解决方案各有利弊,但我想知道是否有人对此有一些实际经验?

感谢您分享任何知识/经验,因为我们正在考虑重写/重组主要业务应用程序的数据库层。

【问题讨论】:

    标签: c# silverlight wcf-ria-services ria domainservices


    【解决方案1】:

    我从未听说过“每个视图模型一个域服务”,我认为这与 RiaServices 的设计方式背道而驰。

    如果您必须处理大型域模型,则每组对象一个 DomainService 可能是要走的路。但是请注意,当您必须在单个事务中为属于两个不同域上下文的实体(即订单和客户)提交更改时,您会遇到麻烦:您将拥有调用两个不同的 SubmitChanges。

    如果您的应用程序不是那么大(我会说 ,则整个应用程序的一个 DomainService 绝对是要走的路

    【讨论】:

    • 感谢您的意见。我也认为只有一个域服务是最好的解决方案,否则当实体在不同的服务中时你会遇到问题。特别是如果我们使用包含。所以,我想知道是否有人认为一个域服务不好或对此有不好的体验。
    【解决方案2】:

    官方的指导是 DomainService、DomainController(未来)和 DomainContext 代表一个单一的工作单元。任何需要一起保存为单个事务的东西都必须在同一个服务/控制器/上下文中,这样才能达到最小的大小和范围。没有关于最大尺寸的官方指南,但是考虑工作单元也可以帮助指导这一点。如果您有两个可以相互独立保存的不同数据屏幕,那么您可能需要两个单独的上下文,以便一个屏幕中的错误不会阻止另一个屏幕保存。

    【讨论】:

      猜你喜欢
      • 2011-01-07
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多