代码之家  ›  专栏  ›  技术社区  ›  Aliostad

什么是WCF RIA服务?

  •  97
  • Aliostad  · 技术社区  · 14 年前

    我讨厌MSDN的WCF RIA服务网站。它不说它是什么,它只说它做了什么。它说了它能实现什么,但没有说我为什么需要它。

    例如:

    n层RIA解决方案正在协调 中间应用逻辑 层和表示层”。

    提供框架组件、工具, RIA客户端,而不要求您 手动复制该程序 逻辑。您可以创建一个RIA客户端 知道客户自动 每次解决方案是 “重新编译。”

    那么它是否从服务器下载DLL呢?它是描述数据规则的元数据吗?

    那是什么?它仅仅是RAD的VS2010附加组件吗?或者它是WCF之上的技术还是WCF之下的技术?它住在哪里?有数据,有服务器,什么?

    如果你能为我总结一下,我将不胜感激。

    2 回复  |  直到 13 年前
        1
  •  109
  •   Ronald Wildenberg    14 年前

    riaservices是一种服务器端技术,它自动生成客户端(Silverlight)对象,这些对象负责与服务器的通信,并提供客户端验证。

    RIA服务中的主要对象是 DomainService ,通常是 LinqToEntitiesDomainService

    在RIA服务中要记住的关键是,它主要是一个复杂的构建技巧。创建域服务并编译解决方案时,将生成域服务的客户端表示。此客户端表示具有相同的接口。假设您创建了一个服务器端域服务 CustomerService IQueryable<Customer> GetCustomersByCountry . 构建解决方案时,在Silverlight项目中会生成一个名为 CustomerContext 那是有办法的 GetCustomersByCountryQuery . 现在可以在客户端上使用此方法,就像在服务器上调用它一样。

    客户上下文 是一个名为 SubmitChanges . 那么这是如何工作的:

    • GetCustomersByCountryQuery查询 ).
    • 对于插入,使用 CustomerContext.Customers.Add(new Customer(...) {...})
    • CustomerContext.Customers.Remove(someCustomer)

    当你完成编辑后,你会打电话给 CustomerContext.SubmitChanges() .

    至于验证,您可以使用 System.ComponentModel.DataAnnotations

    我希望这个解释能帮助你更进一步。