Silverlight客户端和业务逻辑之间的WCF Ria服务?
我有一个与this one非常相似的问题。Silverlight客户端和业务逻辑之间的WCF Ria服务?
有一个现有的软件(数据&业务层)的服务器上运行,我想Silverlight的GUI客户端添加到它。通信现在通过WCF服务工作,但我想使用WCF RIA服务。
我的架构是这样的:
Database - DAL - BL - WCF Services - Silverlight client
所有的业务逻辑在服务器上,Silverlight客户端主要是一个数据查看器。
问题:
1人)会是有意义的替换WCF服务(用于客户机和服务器之间的通信)与WCF RIA服务?
2)是否可以让WCF服务与WCF RIA服务通话?就像这样:
Database - DAL - BL - WCF Services - WCF RIA Service - Silverlight client
或
Database - DAL - BL - WCF Services - Translator - WCF RIA Service - Silverlight client
或
Database - DAL - BL - WCF RIA Service - Silverlight client
所有RIA服务的例子和教程似乎用它们来直接访问数据库,但是如果我想访问业务层呢?我将如何表示业务层上的“数据对象”?我如何使用RIA服务从客户端调用服务器上的函数,例如计算一些东西?
1)我想倚重倾向于使用WCF RIA所有你的工具保持您的Silverlight代码为最新获得的好处。使用服务引用增加了WCF服务和Silverlight实现不同步的几率。
2)我想包与WCF RIA Services中的WCF服务作为例子#1:
Database - DAL - BL - WCF Services - WCF RIA Service - Silverlight client
你的WCF RIA的DomainService应该采取的WCF服务的一个实例,只是包裹。
[EnableClientAccess]
public class FooDomainService : DomainService
{
FooWcfService _fooWcfService;
public FooDomainService(FooWcfService fooWcfService)
{
_fooWcfService = fooWcfService;
}
public IQueryable<Bar> GetBars()
{
return _fooWcfService.GetBars().AsQueryable();
}
}
感谢Ed,我认为这是我为初学者所做的,然后再与服务器团队合作,将所有内容切换到WCF RIA。 – Phasma 2012-07-26 15:50:10
您是否有能力修改WCF服务使用的对象?您可能需要添加/更改/删除属性才能满足WCF RIA。此外,Silverlight客户端是否只读? – 2012-07-25 15:26:49
对象由另一个团队管理,他们必须进行更改,但这是可能的。客户端不是只读的,会有像“发送一个int到服务器”这样的小操作。 – Phasma 2012-07-26 14:20:53