2011-01-10 25 views
0

我有我的silverlight调用我的WCF服务,它的工作很棒。这是一个基本上返回实体或实体集合的WCF(不是ria)服务。Silverlight:为业务逻辑(中间WCF服务)使用本地WCF服务? (与正常的WCF服务一起使用Ria服务?)

我真的无法控制它为Silverlight添加额外的项目。

所以我想,但也许它的糟糕表现DESGIN或..

但有一个本地的WCF服务托管与Asp.net网站托管Silverlight的..我可以使用的业务逻辑这个WCF服务不需要返回实体。例如,silverlight可以调用服务器,然后服务器可以使用PURE .net做些事情。

当然,我仍然需要我的silverlight谈谈返回实体等我的外部WCF服务..

什么是实现这一目标的最佳方式,如果所有..

Silverlight的电话本地WCF服务和“IF REQUIRED”本地wcf服务调用外部WCF服务(它返回实体等),并且所有事情都会从链中返回。

或Silverlight根据需要调用本地WCF服务或外部WCF服务。

有一个第三选择,但我自言自语,也许它不适合...但有RIA服务,使Silverlight的可以称之为....但我又无法摆脱的或有控制我其他wcf服务...所以silverlight需要调用两个或者ria服务可以调用wcf服务......但是这是我有疑问的地方......因为RIA服务通常返回IQUERYABLE例如...我的wcf服务返回例如,ILIST如果ria服务调用我的wcf服务,它会收到一个ILIST ..因此,ria服务中的[QUERY]属性要求我返回IQUERYABLE,但这是不可能的,因为我已经在ILIST中。

我真的很感激一些反馈到天气我完全缺少点或逸岸它是个好主意。

事实上,silverlight有时需要在服务器上做标准的东西,但与数据访问或实体无关...我无法控制外部wcf服务,所以我不能只是插入一个新的方法当它需要silverlight时。

有人使用类似的系统,PROS/CONS?

在此先感谢

回答

1

我觉得你的应用程序只能使用RIA服务,然后利雅服务应该连接到外部服务。然后,所有逻辑都在服务器上,而您的SL应用程序使用简单的服务模型。你可以考虑所有的业务逻辑都在服务器上。

什么返回的IQueryable你总是可以“转换”列表IQueryable的使用LINQ,但我认为你可以从RIA服务返回列表 - 它shoudn't是一个问题。