今天给一个Silverlight的项目做后台,发现了几个选择,WCF RIA Service,Web Service,还有Ado data service,选了第一个,微软的东西名字一个一个,真是麻烦。
上网找了些资料,大部分都是help里那个例子的翻译,汗一个。微软的例子总是用他自己那些wizard,而且搭上一个adonet的datasource,看得我非常不爽。因为我nhibernate层已经写完了。
然后发现RIA服务是异步的,建立一个Silverlight项目后会生成一个sl的app个sl的web,
往里面加一个ria服务的class library项目,又多了两个项目,ria 类库项目和ria web项目。
然后SL的web应用ria的web,sl的app引用ria的类库。依赖关系就建立好了。
结构如下。
RIA类库的行为比较怪异,为了给客户端用,可以发现上图有一个Generated_Code的文件夹,
里面是ria web里生成的代码。
我们做的事情都在DomainService1这个文件里,做一个方法,编译一下,会生成一些相应的代码给SL用。
DomainService1的代码如下。
SL调用的代码如下
SL调用里一个方法被我注释掉了。
因为今天发现得到model的时候必须有【query】这个标记。
貌似没有这个标记,可以得到model,但是修改后commit回去的时候不会调用update的方法。
今天是第一天做Silverlight,希望这几天能有跟多发现。