asp.net的Web项目中要使用很多个“Xap”文件(大约10多个),也就是要关联好多个“Silverlight项目”,每个“Silverlight项目”各不相同,但都要和asp.net站点进行通信。
准确来说是要和Web三层中的“DAL”进行数据交互,主要是“查询”操作,基本上没有“增、删、改”操作。
项目背景:主要是因为使用“Visifire”插件做图表。每个图表就是一个“Xap”文件,对应着自己要查询的数据集对象。而且需要和后台数据进行绑定,根据条件筛选“对象集合”的信息进行展示。
问题一:这样的需求是使用“WCF”,“RIA Service”,还是“WebService”合适?
1、用“RIA Service”,不用分层。
2、用“WCF”,结合现在的asp.net站点。可以结合“Model”对象,创建List<T>类库“Client”和“Server”(Server链接Client中的类,在一个命名空间。),
Web站点使用“Server类库”,Silverlight使用“Client类库”。
问题二:“1”和“2”两种思路,结合asp.net站点,是不是“2”更好呢?因为“SL”客户端基本上没有“增、删、改”操作。
问题三:一个asp.net站点,关联好多个“Silverlight项目”。每个项目查询的“对象集”不同,服务上应该怎样划分,可以使每个客户端“Xap”(图表)都加载比较快,不影响加载速度?
问题四:“SL客户端”添加“WCF服务引用”时,是不是可以勾选程序集,选择服务中“若干方法”,而不是全部添加进去?
使用WCF RIA Services,这个框架提供了很多的便利,参考
使用第一种思路,还是第二种思路,请发表一下看法。
这几个方法都不咋地,这类查询建议使用Restful,资料上google查下。
大家看小弟的思路可行吗?
1、在图表加载时,调用WCF RIA Service服务,将使用到的数据集从服务器端同步到客户端。
2、在客户端的asp.net页面中,选择条件。通过JS和客户端的“XAP”进行通信,操作客户端的数据集,进行不同条件下数据的展示。这样省去了网络通信,只是第一次加载可能时间比较长。
3、因为页面中使用到了很多图表,不能每个图表都作为一个“SL”项目。所以将图表归类,同类的图表使用同一个“SL项目”,作为一个“XAP”文件,通过不同的参数配置,展示为不同的类型。比如:绑定的数据集的名称。图表的默认类型,等等。
@星空(StarrySky):
大家看看这种思路可行吗???
1、使用一个Sliverlight的项目,这个项目包含多个“的XAML”页面。
2、每个 XAML页面对应于一个图表,该图表绑定一系列的数据。
3、在“asp.net”页面中,引入“xap”文件时为其指定参数,设置“xap”文件从哪一个“XAML”页面启动。也就是显示哪一张图表。
4、这样所有的图表就都在同一个“XAP”文件中了。