来个索引
SilverLight企业应用框架设计【四】实体层设计+为客户端动态生成服务代理(自己实现RiaService)
SilverLight企业应用框架设计【三】服务端设计
SilverLight企业应用框架设计【二】框架画面
SilverLight企业应用框架设计【一】整体说明
在上一节中讲到的自动生成的服务代理类核心代码,如下
大家注意到我们是通过ServiceInvoker来调用服务的
实例化ServiceInvoker类之后就注册了ServiceEventHandler事件
此事件是服务调用完成后触发的事件(silverlight 原生的ria service也有一个completed事件)
该事件相关代码如下
在si.PrepareInvoke把需要调用的服务类名,方法名,返回值类型(如果有参数,这里还会自动加入参数)
PrepareInvoke方法如下
在此方法中主要是记录下这些信息,
另外把服务需要传入的参数序列化成JSON字符串
紧接着就调用InvokeService方法
代码如下
明眼人一看就明了了
其实就是使用HTTPWebRequest来调用服务(服务端我们托管了HttpHandler的请求)
RequestReady事件如下:
在此事件中我们把服务类名方法名和参数写入了请求流
ResponseReady事件如下
这个事件把服务端返回的结果(JSON数据)反序列化成实体类型,并赋值给ServiceEventArgs
然后触发了Completed事件
也就是触发我们服务端代理类的si_Completed事件
至此,调用服务端的类就解释完了
下面我们看看是怎么调用服务端的
看看是不是与ria service调用的方法有点像呢?
…………………………………………………………………………喜欢的话……………请推荐吧………………………………………………………
估计再写一篇就完结了
下一篇公布源码